c# open pdf file in browser : Delete a page from a pdf SDK control service wpf azure winforms dnn troff0-part1764

Heirloom Documentation Tools
Nro/Tro User’s Manual
Joseph F. Ossanna
Brian W. Kernighan
Gunnar Ritter
Introduction
nro and tro are text processors under the
UNIX
Time-Sharing System
1
that format text for typewriter-like ter-
minals and for a typesetter/raster devices, respectively.  They accept lines of text interspersed with lines of format
control information and format the text into a printable, paginated document having a user-designed style. nro
and tro oer unusual freedom in document styling, including:  arbitrary style headers and footers; arbitrary style
footnotes; multiple automatic sequence numbering for paragraphs, sections, etc; multiple column output; dynamic
font and point-size control; arbitrary horizontal and vertical local motions at any point; and a family of automatic
overstriking, bracket construction, and line drawing functions.
tro produces its output in a device-independent form, although parameterized for a specic device; tro output
must be processed by a driver for that device to produce printed output.
nro and tro are highly compatible with each other and it is almost always possible to prepare input acceptable
to both.  Conditional input is provided that enables the user to embed input expressly destined for either program.
nro can prepare output directly for a variety of terminal types and is capable of utilizing the full resolution of
each terminal.
On the Heirloom Documentation Tools Edition
In  Summer  2005,  Sun  Microsystems,  Inc.  released  the  source  code  to  the  Solaris  system,
6
including  the
System V Release 4 version of tro, a  derivative  of  AT&T Documenter’s  Workbench  tro, version 2.  It  had
undergone few changes since the end of the 1980’s, so it could serve as a clean starting point for a new version
of tro which is intended to be highly compatible with
UNIX
tro, but which also provides additional features
desirable for a high-quality typesetting application at the beginning of the 21st century.
As with the other components of the Heirloom Project, the original code, once it had been released under an
Open Source license, has been made portable such that it compiles and runs on the contemporary
UNIX
-style sys-
tems, including Linux.  It continues to be freely available under the same license as originally released, including
its complete source code.
PostScript and its close relative
PDF
are now the only device languages which are relevant to high-quality print-
ing; actually, PostScript itself is more and more becoming an intermediate language for the generation of
PDF
documents.  The Heirloom version  of tro is thus  primarily directed towards generating  PostScript output for
further processing by a
PDF
creator, such as Ghostscript or Adobe Distiller; it can generate
PDF
-specic instruc-
tions for prepress usage as well as for online navigation in
PDF
documents.
The principal output device independence of tro has nevertheless been retained, and changes to the intermediate
language have been minor.  Many tro post-processors will thus continue to be usable with no or little adaptions.
PostScript Type 1, OpenType, and TrueType have become device-independent font formats; virtually all commer-
cial and free fonts are available in one of them.  There is thus no need for a tro-specic device-independent
font format anymore; instead, Heirloom tro can read font metrics directly from Type 1, OpenType, and TrueType
font les.  This has greatly relieved the task of installing fonts—it suces to copy the original les to a user-
selectable font directory—, and makes it possible to access advanced typographic data, such as kerning tables or
substitution instructions for old-style numerals.
tro provides convenient access to any character in a font le either by its PostScript name, by its Unicode posi-
tion as specied in a font-specic or a generic table, or by conversion from
POSIX
-style locale-specic charac-
-1 -
Delete a page from a pdf - remove PDF pages in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Provides Users with Mature Document Manipulating Function for Deleting PDF Pages
delete a page from a pdf acrobat; delete page from pdf preview
Delete a page from a pdf - VB.NET PDF Page Delete Library: remove PDF pages in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Visual Basic Sample Codes to Delete PDF Document Page in .NET
add and remove pages from pdf file online; delete page pdf
nro/tro User’s Manual
Heirloom Documentation Tools
September 17, 2007
ters to Unicode positions.  The last form allows direct input of international language texts in almost any charac-
ter encoding, including
UTF
-8.
Improvements to the  line adjusting mechanism  can  be activated to achieve more aesthetically pleasant output:
tro can compute line breaks for a whole paragraph at once, using a variant of an algorithm originally developed
by Donald Knuth  and Michael Plass  for the T
E
X system
7
 Interword  spaces can  be  shrunk  as an alternative
to  being  expanded.  Inter-letter  spaces  and  letter shapes can be dynamically  varied both for  computing break
points and for adjusting output lines; this is sometimes called ‘‘micro-typography’’, cf. e.g. the thesis by Hàn Thế
Thành
8
 All paragraph formatting options can be arbitrarily combined.
A variety of international paper formats and hyphenation languages are supported by tro. The algorithm for the
latter is derived from the respective one developed for T
E
Xby Franklin Liang
9
;tro uses the implementation of
LibHnj by Raph Levien. T
E
Xhyphenation patterns can be converted to the format accepted by tro.
Many internal limitations  of tro have  been removed; most notably, tro can now  set characters in fractional
point sizes.
The tro language has been extended similarly as in the
GNU
version of tro, gro
10
; for example, names of
requests, macros, strings, number registers, and fonts can consist of more than two characters.  Although Heir-
loom tro is  not completely  compatible  with gro, a special  compatibility  mode is  provided, and documents
prepared for gro can usually be processed without alteration.
As even the most basic printing devices are now capable of rastering PostScript documents (at least using conver-
sion tools), and as PostScript and
PDF
viewer programs allow an accurate on-screen display of tro documents,
there is only one area where nro is still useful:  the formatting of
UNIX
manual pages.  The Heirloom version
of nro is thus specically aimed at this task; it remains a separate program, is much smaller than tro, and is
optionally able to run without external device description les.  This makes it possible to use it to view manual
pages even on small system distributions where the size of programs is an issue.
The Solaris version of nro had already been updated to support input characters in arbitrary locales.  The Heir-
loom version adds the ability to generate
UTF
-8 output.  This extends the nro character set by many mathemati-
cal and typographical characters on terminals capable of displaying them.
Although Heirloom nro does of course not provide the typographical extensions made for tro, it includes the
same language extensions.  It is thus well able to cope with the tangle of manual page code which has been pro-
duced by application writers who have unfortunately become increasingly unaware of how to write well-styled
nro documents.
This manual as well as some of the pre- and post-processor commands have been derived from
UNIX
code re-
leased by Caldera
11
, and from materials released by Lucent as parts of the Plan 9 system
12
.
Background to the Second Edition
tro was originally written by the late Joe Ossanna in about 1973, in assembly language for the
PDP
-11, to drive
the Graphic Systems CAT typesetter.  It was rewritten in C around 1975, and underwent slow but steady evolu-
tion until Ossanna’s death late in 1977.
In 1979, Brian Kernighan modied tro so that it would produce output for a variety of typesetters, while retain-
ing  its  input  specications.  Over  the  decade  from  1979  to  1989,  the  internals  have  been  modestly  revised,
though much of the code remains as it was when Ossanna wrote it.
tro reads parameter les each time it is invoked, to set values for machine resolution, legal type sizes and fonts,
and character names, character widths and the like. tro output is
ASCII
characters in a simple language that
describes where each character is to be placed and in what size and font.  A post-processor must be written for
each device to convert this typesetter-independent language into specic instructions for that device.
The output  language contains information  that was not  readily  identiable  in the older output.  In the newer
language, the beginning of each page, line, and word is marked, so post-processors can do device-specic optimi-
zations such as sorting the data vertically or printing it boustrophedonically, independent of tro.
Capabilities  for  graphics  have  been  added: tro recognizes  commands  for  drawing  diagonal  lines,  circles,
ellipses, circular arcs, and quadratic B-splines.  There are also ways to pass arbitrary information to the output,
unprocessed by tro.
-2 -
C# PDF File & Page Process Library SDK for C#.net, ASP.NET, MVC
C# File: Merge PDF; C# File: Split PDF; C# Page: Insert PDF pages; C# Page: Delete PDF pages; C# Read: PDF Text Extract; C# Read: PDF
delete a page from a pdf file; copy pages from pdf to another pdf
C# PDF Page Insert Library: insert pages into PDF file in C#.net
page processing functions, such as how to merge PDF document files by C# code, how to rotate PDF document page, how to delete PDF page using C# .NET, how to
delete pdf pages online; delete page pdf file reader
nro/tro User’s Manual
Heirloom Documentation Tools
September 17, 2007
A number of limitations have been eased or eliminated.  A document may have an arbitrary number of fonts on
any page (if the output device permits it, of course).  Fonts may be accessed merely by naming them; ‘‘mount-
ing’’ is no longer necessary.  There are no limits on the number of characters.
Character height
and
sl
a
nt
may
be set independently of width.
The  remainder  of  this  document  contains  a  description  of  usage  and  command-line  options;  a  summary  of
requests, escape sequences, and pre-dened number registers; a reference manual; tutorial examples; and a list of
commonly-available characters.
Acknowledgements (for the Second Edition, by Brian Kernighan)
Joe Ossanna’s tro remains a remarkable accomplishment.  For more than twenty years, it has proven a robust
tool, taking unbelievable abuse from a variety of preprocessors and being forced into uses that were never con-
ceived of in the original design, all with considerable grace under re.
Recent versions of tro have  proted from  signicant code improvements by  Jaap Akkerhuis, Dennis Ritchie,
Ken Thompson, and Molly Wagner.  Andrew Hume, Doug McIlroy, Peter Nelson, and Ravi Sethi made valuable
suggestions on the manual.  I fear that the remaining bugs are my fault.
Acknowledgements (for the Heirloom Edition, by Gunnar Ritter)
The tro program as written by Joseph Ossanna and Brian Kernighan turned out to be an excellent base for a
typesetting system containing approximately twice as many lines of code.  As with the second edition, the design
and the principal parts of tro have remained the same, despite of additions and modications.  This is particu-
larly remarkable since much of it is now more than 30 years old, but serves its purpose as well as on day one.
I am grateful to Sun, Caldera, and Lucent for releasing the source code without which this project would not
have been possible.
I wish to thank Brian Kernighan for the permission to adapt this manual.
Availability and Contact Information
The source code  of the Heirloom  Documentation Tools and  accompanying materials  are freely available from
<http://heirloom.sourceforge.net/doctools.html>.  Comments  and  bug  reports  should  be  sent  to  Gunnar  Ritter,
<gunnarr@acm.org>.
References
[1] M.  D.  McIllroy,  B.  W.  Kernighan (Eds.), Unix  Programmer’s  Manual, Vol.2,  AT&T  Bell  Laboratories,
Murray Hill,
NJ
07974, 1979; <http://plan9.bell-labs.com/7thEdMan/index.html>.
[2] B. W. Kernighan, L. L. Cherry, ‘‘Typesetting Mathematics — User’s Guide (Second Edition)’’, in [1].
[3] M. E. Lesk, ‘‘Tbl — A Program to Format Tables’’, in [1].
[4] B. W. Kernighan, ‘‘A TROFF Tutorial’’, in [1].
[5] J. F. Ossanna, ‘‘Nro/Tro User’s Manual’’, in [1].
[6] <http://www.opensolaris.org>
[7] D. E. Knuth, M. F. Plass, ‘‘Breaking paragraphs into lines’’, Software—Practice and Experience, Vol. 11,
Issue  12  (1981), pp. 1119–1184;  also  in D.  E.  Knuth, Digital  Typography, Stanford, 1999  (
CSLI
lecture
notes no. 78), pp. 67–155.
[8] Hàn  Thế Thành, Micro-typographic  extensions  to the T
E
 typesetting  system,  Masaryk University  Brno,
2000.
[9] F. M. Liang, Word Hy-phen-a-tion by Com-put-er, Stanford University,
CA
94305, Report No.
STAN
-
CS
-83-
977, 1983.
[10] <http://gro.i.org>
[11] <http://www.tuhs.org/Archive/Caldera-license.pdf>
[12] <http://plan9.bell-labs.com/plan9>
-3 -
VB.NET PDF Page Insert Library: insert pages into PDF file in vb.
PDF: Insert PDF Page. VB.NET PDF - How to Insert a New Page to PDF in VB.NET. Easy to Use VB.NET APIs to Add a New Blank Page to PDF Document in VB.NET Program.
delete pages from pdf reader; copy pages from pdf into new pdf
C# PDF remove image library: remove, delete images from PDF in C#.
C# File: Merge PDF; C# File: Split PDF; C# Page: Insert PDF pages; C# Page: Delete PDF pages; C# Read: PDF Text Extract; C# Read: PDF
delete page from pdf file; delete page on pdf reader
nro/tro User’s Manual
Heirloom Documentation Tools
September 17, 2007
Usage
The general form of invoking nro (or tro) at
UNIX
command level is
nro options les
(or tro options les)
where options represents any of a number of option arguments and les represents the list of les containing the
document to be formatted.  An argument consisting of a single minus (–) is taken to be a le name correspond-
ing to the standard input.  If no le names are given input is taken from the standard input.  The options, which
may appear in any order so long as they appear before the les, are:
Option
Eect
–olist
Print only pages whose page numbers appear in list, which consists of comma-separated
numbers  and number  ranges.  A  number range has  the  form N–M and  means  pages N
through M; a initial –N means from the beginning to page N; and a nal N– means from
Nto the end.
–nN
Number rst generated page N.
–sN
Stop every N pages. nro will halt prior to every N pages (default N=1) to allow paper
loading  or  changing,  and  will  resume  upon  receipt  of  a  newline. tro will  include  a
‘‘pause’’ code every N pages; its meaning, if any, depends on the output device.
–mname
Prepend the macro le /usr/ucblib/doctools/tmac/name to the input les, or,  if that le
would not be accessible, /usr/ucblib/doctools/tmac/tmac.name.  If the environment vari-
able
TROFFMACS
is set, its value is used instead of the default macro directory string,
and no attempt is made to open name with the ‘‘tmac.’’ prex.  The value is prepended
to name without inserting an additional slash as a directory separator, so it must either end
with a slash itself or can be used to specify a le name prex (as e.g. ‘‘tmac.’’).
–raN
Register a (one-character) is set to N.
–ra=N
Register a (may be more than one character) is set to N.
–daS
String a (one-character) is set to S.
–da=S
String a (may be more than one character) is set to S.
–i
Read standard input after the input les are exhausted.
–q
Invoke the simultaneous input-output mode of the rd request.
–xN
Set the extension level to N (cf. §1.1).
–z
Check syntax only; do not generate any output except for error messages.
nro Only
–e
Produce equally-spaced words in adjusted lines, using full terminal resolution.
–h
Use output tabs during  horizontal spacing  to  speed  output  and  reduce  output  character
count.  Tab settings are assumed to be every 8 nominal character widths.
–Tname
Specify the name of the  output terminal  type.  Currently dened names  are 37 for  the
(default) Model 37 Teletype, lp for any line printer or terminal without half-line capabil-
ity, tn300 for the GE TermiNet 300, 300S for the
DASI
-300S, 300 for the
DASI
-300, and
450 for  the
DASI
-450  (Diablo  Hyterm).  A special  names, locale,  is also supported.  It
generates
UTF
-8 output if permitted by the current
LC_CTYPE
locale, and  has the same
eect as lp otherwise.
-4 -
VB.NET PDF delete text library: delete, remove text from PDF file
VB.NET: Delete a Character in PDF Page. It demonstrates how to delete a character in the first page of sample PDF file with the location of (123F, 187F).
delete page numbers in pdf; add remove pages from pdf
VB.NET PDF remove image library: remove, delete images from PDF in
C# File: Split PDF; C# Page: Insert PDF pages; C# Page: Delete PDF pages; C# Read: PDF Text Extract; Delete image objects in selected PDF page in ASPX webpage.
add and remove pages from a pdf; delete pages pdf files
nro/tro User’s Manual
Heirloom Documentation Tools
September 17, 2007
tro Only
–f
Refrain from feeding out paper and stopping the output device at the end of the run.
–a
Send a printable
(ASCII)
approximation of the results to the standard output.
–Fpath
Look in directory path for font information; the default is /usr/ucblib/doctools/font/devps.
–Tname
Species the output device.  Currently dened names are ps for (default) PostScript output
at 72000 dpi, psmed for PostScript output at 3600 dpi, pslow for PostScript output at 432
dpi, and post for PostScript output at 720 dpi with legacy fonts.
–uN
Set the emboldening amount, i.e. the number of times a character is printed to simulate
bold output, to N.
Each option is invoked as a separate argument; for example,
nro –o4,8–10 –T300S –mabc le1 le2
requests formatting of pages 4, 8, 9, and 10 of a document contained in the les named le1 and le2, species
the output terminal as a
DASI
-300S, and invokes the macro package abc.
Various pre- and post-processors are available for use with nro and tro. These include the equation preproces-
sors neqn and eqn
2
(for nro and tro respectively), the table-construction preprocessor tbl
3
, and pic and grap
for various forms of graphics.  A reverse-line postprocessor col is available for multiple-column nro output on
terminals without reverse-line ability; col expects the Model 37 Teletype escape sequences that nro produces by
default. col can optionally also lter the backspace sequences which nro emits for underlining and emboldening
in order to produce a plain text le.  Another option is the ul postprocessor which converts backspace sequences
to underline and reverse video escape sequences for
CRT
terminals.
The dpost postprocessor  has  a  special  role  as  it  translates tro intermediate  output  to  PostScript,  which  is
currently the only relevant target device format.
For example, in
tbl les |  eqn |  tro options |  dpost >output.ps
the rst | indicates the piping of tbl’s output to eqn’s input; the second the piping of eqn’s output to tro’s input;
and the third indicates the piping of tro’s output to dpost, which then writes PostScript code to output.ps.
The following options are currently supported with dpost:
Option
Eect
–e encoding
Set the PostScript encoding scheme.  Possible values of encoding are:
0 using the PostScript ashow operator, with the same representation as previous ver-
sions of dpost
1 using ashow, integrating motion commands with text commands
2 using the PostScript awidthshow operator, computing space widths in PostScript
3 using awidthshow, computing space widths in dpost
4 using ashow, storing text positions as dierences
5 like 4 but using a binary PostScript Level 2 representation
The default is device-specic. 3 is the default with the high-resolution ps device; it
usually  produces the  most ecient PostScript output and leads  to the most compact
PDF
documents.  With lower-resolution devices, 2 is preferred over 3 since the latter
may produce incorrect alignment because of accumulated rounding errors. 0, 1, or 4
may be preferable if the text font contains many kerning pairs since 2 or 3 can result in
less ecient or less compact output under these circumstances.
–M marks
Print marks (in combination with the trimat tro request).  Valid types of marks are:
cutmarks, registrationmarks, startargets, colorbars,  and all.  Mark  names can  be
abbreviated and combined by colons, e.g. –Mcut:reg will print cut marks and registra-
tion marks.
-5 -
VB.NET PDF File & Page Process Library SDK for vb.net, ASP.NET
document. If you find certain page in your PDF document is unnecessary, you may want to delete this page directly. Moreover, when
delete blank pages in pdf files; best pdf editor delete pages
C# PDF delete text Library: delete, remove text from PDF file in
C#.NET Sample Code: Delete Text from Specified PDF Page. The following demo code will show how to delete text in specified PDF page. // Open a document.
delete pages from pdf acrobat; delete page on pdf
nro/tro User’s Manual
Heirloom Documentation Tools
September 17, 2007
Request Summary
In the following table, the notation ±N in the Request Form column means that the forms N, +N, or –N are per-
mitted, to set the parameter to N, increment it by N, or decrement it by N, respectively.  Plain N means that the
value is used to set the parameter. Initial Values separated by ; are for nro and tro respectively.  In the Notes
column,
B
Request normally causes a break.  The use of ´ as control character
(instead of .)  suppresses the break function.
D
Mode or relevant parameters associated with current diversion level.
E
Relevant parameters are a part of the current environment.
O
Must stay in eect until logical output.
P
Mode must be still or again in eect at the time of physical output.
T
tro only; no eect in nro.
v,p,m,u
Default scale indicator; if not specied, scale indicators are ignored.
Request
Initial
If No
Form
Value
Argument
Notes Explanation
1.  General Explanation
.do name
ignored
Execute name in extension level 3.
.xflag N
1
ignored
Set the extension level permanently to N.
2.  Font and Character Size Control
.lc_ctype name
ignored
Set the
LC_CTYPE
locale.
.ps±N
10point
previous
E,T,p
Point size; also \s±N.
.fzoom F Z 1
ignored
P,T
Zoom font F by factor Z.
.ss N [M]
12/36m
ignored
E,T
Space-character size set to N/36em; sentence space M/36em.
.csFNM
o
P,T
Constant character space (width) mode (font F).
.bd F N
o
P,T
Embolden font F by N−1 units.
.bd S F N
o
P,T
Embolden Special Font when current font is F.
.ft F
Roman
previous
E
Change to font F = x, xx, or 1-4. Also \fx,\f(xx,\fN.
.fp N F [le [supply]]
ignored
P
Font position; mounts the font le.
.fps map ...
ignored
P,T
Mount a font with a special character map.
.feature F ±name ...
ignored
P,T
Control OpenType features.
.fallback F A B ...
ignored
P,T
Select the fallback sequence for font F.
.hidechar F c d ...
ignored
P,T
Hide the characters c, d, etc. from font F.
.spacewidth N
on
O,T
If N≠0, use the space width from the font metrics le.
.fspacewidth F [N]
ignored
O,T
Set the width of the space character in font F to N.
3.  Page Control
.pl±N
11i
11i
v
Page length.
.papersize media
ignored
T,u
Set the paper size.
.mediasize media
ignored
T,u
Set the device media size.
.cropat L T W H
ignored
T,p
Set the ‘‘CropBox’’ page parameter for
PDF
generation.
.trimat L T W H
ignored
T,p
Set the ‘‘TrimBox’’ page parameter for
PDF
generation.
.bleedat L T W H
ignored
T,p
Set the ‘‘BleedBox’’ page parameter for
PDF
generation.
.bp ±N
N=1
B,v
Eject current page; next page number N.
.pn ±N
N=1
ignored
Next page number N.
.po ±N
0;1i
previous
v
Page oset.
.ne N
N=1v
D,v
Need N vertical space (V = vertical spacing).
.mk R
none
internal
D
Mark current vertical place in register R.
.rt ±N
none
internal
D,v
Return (upward only) to marked vertical place.
-6 -
nro/tro User’s Manual
Heirloom Documentation Tools
September 17, 2007
Request
Initial
If No
Form
Value
Argument
Notes Explanation
4.  Text Filling, Adjusting, and Centering
.br
B
Break.
.brp
B
Break and spread.
.fi
ll
B,E
Fill output lines.
.nf
ll
B,E
No lling or adjusting of output lines.
.ad c
adj,both
adjust
E
Adjust output lines with mode c; c=l,r,c,b,p,none
.na
adjust
E
No output line adjusting.
.padj N
o
on
Control paragraph-at-once adjustment globally.
.ce N
o
N=1
B,E
Center following N input text lines.
.rj N
o
N=1
B,E
Right-align following N input text lines.
.brnl N
o
N=∞
B,E
Break at end of next N input text lines.
.brpnl N
o
N=∞
B,E
Break and spread at end of next N input text lines.
.minss N
o
o
E,T
Minimum word space when adjusting lines.
.letadj X U S Y V
o
E,T
Dynamic letter spacing and reshaping when adjusting lines.
.sentchar c... .?!:
o
E
Sentence-ending characters.
.transchar c.."’)]*†
o
E
Transparent characters for sentence-ending.
.track F S N T M
ignored
P,T,p
Static letter space tracking.
.kern N
1
1
P,T
Control pairwise kerning.
.fkern F N
1
1
P,T
Control the use of kerning tables from font F.
.kernpair F c... G d... N
ignored
P,T
Dene a kerning pair.
.kernafter F c... N d... M ...
P,T
Add a constant amount of space after a character.
.kernbefore F c... N d... M ...
P,T
Add a constant amount of space before a character.
.lhang F c... N d... M ...
ignored
T
Hanging characters at left margin.
.rhang F c... N d... M ... ignored
T
Hanging characters at right margin.
5.  Vertical Spacing
.vs N
1/6in;12pts previous
E,p
Vertical base line spacing (V).
.ls N
N=1
previous
E
Output N−1 Vs after each text output line.
.sp N
N=1V
B,v
Space vertical distance N in either direction.
.sv N
N=1V
v
Save vertical distance N.
.os
Output saved vertical distance.
.ns
space
D
Turn no-space mode on.
.rs
D
Restore spacing; turn no-space mode o.
6.  Line Length and Indenting
.ll ±N
6.5i
previous
E,m
Line length.
.in ±N
N=0
previous
B,E,m
Indent.
.ti ±N
ignored
B,E,m
Temporary indent.
.pshape ±I1 ±L1 ±I2 ±L2 ... o
E,m
Dene the shape of the current paragraph in ad p mode.
7.  Macros, Strings, Diversion, and Position Traps
.de xx yy
.yy=..
Dene or redene macro xx; end at call of yy.
.am xx yy
.yy=..
Append to a macro.
.ds xx string –
ignored
Dene a string xx containing string.
.as xx string –
ignored
Append string to string xx.
.lds xx string –
ignored
Dene local string xx containing string.
.substring xx N [M]
M=−1
Replace string xx by its substring between N and M.
.length R string
Rset to 0
Store the length of string in register R.
.index R xx string
ignored
Store position where string occurs in xx in register R.
.chop xx
ignored
Remove the last character of xx.
.rm xx
ignored
Remove request, macro, or string.
.rn xx yy
ignored
Rename request, macro, or string xx to yy.
-7 -
nro/tro User’s Manual
Heirloom Documentation Tools
September 17, 2007
Request
Initial
If No
Form
Value
Argument
Notes Explanation
.di xx
end
D
Divert output to macro xx.
.da xx
end
D
Divert and append to xx.
.box xx
end
D
Divert output to macro xx, excluding a partially lled line.
.boxa xx
end
D
Divert and append to xx, excluding a partially lled line.
.unformat xx –
ignored
Strip line break information from diversion xx.
.asciify xx
ignored
All characters in diversion xx changed to plain text.
.wh N xx
v
Set location trap; negative is w.r.t. page bottom.
.ch xx N
v
Change trap location.
.dwh N xx
D,v
Set location trap in current diversion.
.dch xx N
D,v
Change trap location in current diversion.
.dt N xx
o
D,v
Set a diversion trap.
.vpt N
1
ignored
Enable or disable vertical position traps.
.it N xx
o
E
Set an input-line count trap.
.itc N xx
o
E
Input-line count trap ignoring \c.
.return
Return from the current macro.
.shift N
1
Shift the arguments to the current macro.
.als yy xx
yy is created as an alias for xx.
.blm xx
none
none
Blank line macro is xx.
.em xx
none
none
End macro is xx.
.recursionlimit N M
Set the maximum stack depth.
8.  Number Registers
.nr R ±N M
u
Dene and set number register R; auto-increment by M.
.nrf R ±F G
u
Dene and set oating-point register R; auto-increment by G.
.lnr R ±N M
u
Dene and set local number register R.
.lnrf R ±F G
u
Dene and set local oating-point register R.
.af R c
arabic
Assign format to register R (c=1, i, I, a, A).
.rr R
Remove register R.
.rnn R S
Rename register R to S.
.aln S R
Register S is created as an alias for R.
9.  Tabs, Leaders, and Fields
.ta Nt ...
0.8n; 0.5i
none
E,m
Tab settings; left type, unless t=R(right), C(centered).
.tc c
none
none
E
Tab repetition character.
.lc c
.
none
E
Leader repetition character.
.fc a b
o
o
Set eld delimiter a and pad character b.
10.  Input and Output Conventions and Character Translations
.ec c
\
\
Set escape character.
.eo
on
Turn o escape character mechanism.
.ecs
\
Save escape character.
.ecr
\
Restore saved escape character.
.lg N
–;on
on
T
Ligature mode on if N>0.
.flig F string c ...
ignored
T
Dene the ligatures in font F.
.fdeferlig F string ...
ignored
T
Defer ligature building for the rst character of string.
.ul N
o
N=1
E
Underline (italicize in tro) N input lines.
.cu N
o
N=1
E
Continuous underline in nro; like ul in tro.
.uf F
Italic
Italic
Underline font set to F (to be switched to by ul).
.cc c
.
.
E
Set control character to c.
.c2 c
´
´
E
Set nobreak control character to c.
.tr abcd.... none
O
Translate a to b, etc. on output.
.trin abcd.... none
O
Translate but retranslate with asciify.
-8 -
nro/tro User’s Manual
Heirloom Documentation Tools
September 17, 2007
Request
Initial
If No
Form
Value
Argument
Notes Explanation
.trnt abcd.... none
O
Translate but not on transparent lines.
.ftr F abcd....none
P,T
Font-specic tr.
.char c string
ignored
Dene character c to string.
.fchar c string
ignored
T
Dene fallback for character c to string.
.rchar c...
ignored
Remove character denitions for c....
.output string
ignored
Write string directly to intermediate output.
11.  Local Horizontal and Vertical Motions, and the Width Function
12.  Overstrike, Bracket, Line-drawing, Graphics, and Zero-width Functions
13.  Hyphenation.
.nh
hyphenate
E
No hyphenation.
.hy N
hyphenate
hyphenate
E
Hyphenate; N = mode.
.hylang nameo
o
E
Set the hyphenation language.
.shc c
-
-
E
Set the soft hyphenation character.
.hcode abcd...
E
Hyphenation code of a is b, etc.
.hylen N
5
5
E
Hyphenate only words of at least N characters in length.
.hlm N
o
o
E
Maximum number of consecutive hyphenated lines.
.hypp N M L 0 0 0
00 0
E
Dene hyphenation penalties for ad p mode.
.breakchar c.-—
o
E
Optional line break characters.
.nhychar c... -—
o
E
Hyphenation-inhibiting characters.
.hc c
\%
\%
E
Hyphenation indicator character c.
.hw word ... –
ignored
Add words to hyphenation dictionary.
14.  Three-Part Titles.
.tl ´left´center´right´
Three part title; delimiter may be any character.
.pc c
%
o
Page number character.
.lt ±N
6.5in
previous
E,m
Length of title.
15.  Output Line Numbering.
.nm ±N M S I
o
E
Number mode on or o, set parameters.
.nn N
N=1
E
Do not number next N lines.
16.  Conditional Acceptance of Input
.if c anything
If condition c true, accept anything as input,
for multi-line use \{anything\}.
.if !c anything
If condition c false, accept anything.
.if N anything
u
If expression N > 0, accept anything.
.if !N anything
u
If expression N ≤ 0 [sic], accept anything.
.if fF anything
u
If oating-point expression F > 0, accept anything.
.if !fF anything
u
If oating-point expression F ≤ 0 [sic], accept anything.
.if ´string1´string2´ anything
If string1 identical to string2, accept anything.
.if !´string1´string2´ anything
If string1 not identical to string2, accept anything.
.ie c anything
u
If portion of if-else; all above forms (like if).
.el anything
Else portion of if-else.
.while c anything
Execute anything while c (like if) is true.
.break n
1
Break out of n nested while loops.
.continue n –
1
Continue at the n-th nested while loop.
17.  Environment Switching.
.ev name
name=0
previous
Environment switched (push down).
.evc name
Copy environment name to the current environment.
-9 -
nro/tro User’s Manual
Heirloom Documentation Tools
September 17, 2007
Request
Initial
If No
Form
Value
Argument
Notes Explanation
18.  Insertions from the Standard Input
.rd prompt –
prompt=
BEL
Read insertion.
.ex
Exit from nro/tro.
19.  Input/Output File Switching
.so lename
Switch source le (push down).
.pso string
Execute string and read its output.
.nx lename
end-of-le
Next le.
.sy string
Execute program string. Output not interpolated.
.pi string
Pipe output to program string.
.cf lename
Copy le contents to tro output.
.open stream lename
ignored
Open lename as stream, truncating.
.opena stream lename
ignored
Open lename as stream, appending.
.write stream text
ignored
Write text to le stream.
.writec stream text
ignored
Write text without terminating newline.
.writem stream xx
ignored
Write contents of string, macro, or diversion xx.
.close stream
Close the le stream.
20.  Miscellaneous
.mc c N
o
E,m
Set margin character c and separation N.
.lpfx string o
o
E
Set line prex to string.
.tm string
newline
Print string on terminal (standard error).
.tmc string –
newline
Print string without newline on terminal.
.nop remainder of line
Use remainder of line as input.
.ab string
newline
Print string on standard error, exit program.
.ig yy
.yy=..
Ignore till call of yy.
.lf N f
Set input line number to N and lename to f.
.pm t
all
Print macro names and sizes;
if t present, print only total of sizes.
.fl
B
Flush output buffer.
21.  Output and Error Messages, Debugging
.warn ±bits|name
w
Control warning messages.
.spreadwarn N
toggle
m
Spread limit warning.
.errprint string
newline
Print string like an error message.
.watch xx
o
ignore
Notify on change of string or macro xx.
.unwatch xx o
ignore
Disable notication for string or macro xx.
.watchlength N
ignore
On change, report contents up to length N.
.watchn R
o
ignore
Notify on change of register R.
.unwatchn R o
ignore
Disable notication for register R.
22.  Color Support
.CL color text
RGB
black
Print text in color.*
23.  Picture Inclusion
.psbb lename
Read the PostScript bounding box from lename.
.BP source height width position oset ags label Dene a frame and place a picture in it.*
.EP
End a picture started by .BP.*
.PI source height,width,yoset,xoset ags
Low-level picture inclusion.*
-10 -
Documents you may be interested
Documents you may be interested