File: groff.info, Node: Auto-increment, Next: Assigning Register Formats, Prev: Registers.php">Interpolating Registers, Up: Registers 5.8.3 Auto-increment -------------------- Registers can also be incremented or decremented by a configured amount at the time they are interpolated. The value of the increment is specified with a third argument to the 'nr' request, and a special interpolation syntax is used to alter and then retrieve the register's value. Together, these features are called "auto-increment".(1) (*note Auto-increment-Footnote-1::) -- Request: .nr ident value incr Set register IDENT to VALUE and its auto-incrementation amount to to INCR. The '\R' escape sequence doesn't support an INCR argument. Auto-incrementation is not _completely_ automatic; the '\n' escape sequence in its basic form never alters the value of a register. To apply auto-incrementation to a register, interpolate it with '\n±'. -- Escape sequence: \n+i -- Escape sequence: \n-i -- Escape sequence: \n+(id -- Escape sequence: \n-(id -- Escape sequence: \n+[ident] -- Escape sequence: \n-[ident] Increment or decrement IDENT (one-character name I, two-character name ID) by the register's auto-incrementation value and then interpolate the new register value. If IDENT has no auto-incrementation value, interpolate as with '\n'. .nr a 0 1 .nr xx 0 5 .nr foo 0 -2 \n+a, \n+a, \n+a, \n+a, \n+a .br \n-(xx, \n-(xx, \n-(xx, \n-(xx, \n-(xx .br \n+[foo], \n+[foo], \n+[foo], \n+[foo], \n+[foo] => 1, 2, 3, 4, 5 => -5, -10, -15, -20, -25 => -2, -4, -6, -8, -10 To change the increment value without changing the value of a register, assign the register's value to itself by interpolating it, and specify the desired increment normally. Apply an increment of '0' to disable auto-incrementation of the register.
