summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/man/man1/dvisvgm.1
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2020-03-04 16:04:42 +0000
committerKarl Berry <karl@freefriends.org>2020-03-04 16:04:42 +0000
commit98e948a6f36458c4f2a1baca7bb3c1bb38c45d8a (patch)
tree4390afbf534f7e1352fc705a1407980111ca7eed /Master/texmf-dist/doc/man/man1/dvisvgm.1
parent4dfe4db11405cb8516021b486369a8acaf810334 (diff)
2020 man page updates
git-svn-id: svn://tug.org/texlive/trunk@54070 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/man/man1/dvisvgm.1')
-rw-r--r--Master/texmf-dist/doc/man/man1/dvisvgm.1306
1 files changed, 218 insertions, 88 deletions
diff --git a/Master/texmf-dist/doc/man/man1/dvisvgm.1 b/Master/texmf-dist/doc/man/man1/dvisvgm.1
index e482b7bfa60..5c7cb95e5a2 100644
--- a/Master/texmf-dist/doc/man/man1/dvisvgm.1
+++ b/Master/texmf-dist/doc/man/man1/dvisvgm.1
@@ -2,12 +2,12 @@
.\" Title: dvisvgm
.\" Author: Martin Gieseking <martin.gieseking@uos.de>
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
-.\" Date: 03/09/2019
+.\" Date: 2019-11-12
.\" Manual: dvisvgm Manual
-.\" Source: dvisvgm 2.6.3
+.\" Source: dvisvgm 2.8.2
.\" Language: English
.\"
-.TH "DVISVGM" "1" "03/09/2019" "dvisvgm 2\&.6\&.3" "dvisvgm Manual"
+.TH "DVISVGM" "1" "2019\-11\-12" "dvisvgm 2\&.8\&.2" "dvisvgm Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -164,7 +164,12 @@ only affects the bounding box and does not transform the page content\&. Hence,
\fB\-C, \-\-cache\fR[=\fIdir\fR]
.RS 4
To speed up the conversion process of bitmap fonts, dvisvgm saves intermediate conversion information in cache files\&. By default, these files are stored in
-\fB$HOME/\&.dvisvgm/cache\fR\&. If you prefer a different location, use option
+\fB$XDG_CACHE_HOME/dvisvgm/\fR
+or
+\fB$HOME/\&.cache/dvisvgm\fR
+if
+\fBXDG_CACHE_HOME\fR
+is not set\&. If you prefer a different location, use option
\fB\-\-cache\fR
to overwrite the default\&. Furthermore, it is also possible to disable the font caching mechanism completely with option
\fB\-\-cache=none\fR\&. If argument
@@ -196,12 +201,13 @@ By default, dvisvgm exclusively uses RGB values of the form
or
\fI#RGB\fR
to represent colors in the SVG file\&. The latter is a short form for colors whose RGB components each consist of two identical hex digits, e\&.g\&.
-\fI#123\fR
+\fB#123\fR
equals
-\fI#112233\fR\&. According to the SVG standard, it\(cqs also possible to use color names (like
+\fB#112233\fR\&. According to the SVG standard, it\(cqs also possible to use color names (like
\fBblack\fR
and
-\fBdarkblue\fR) for a limited number of predefined colors\&. In order to apply these color names rather than their RGB values, call dvisvgm with option
+\fBdarkblue\fR) for a limited number of
+predefined colors (\m[blue]https://www.w3.org/TR/SVG11/types.html#ColorKeywords\m[])\&. In order to apply these color names rather than their RGB values, call dvisvgm with option
\fB\-\-colornames\fR\&. All colors without an SVG color name will still be represented by RGB values\&.
.RE
.PP
@@ -219,10 +225,10 @@ special command is created and forwarded to the PostScript special handler\&. Th
for further information\&.
.RE
.PP
-\fB\-e, \-\-exact\fR
+\fB\-e, \-\-exact\-bbox\fR
.RS 4
This option tells dvisvgm to compute the precise bounding box of each character\&. By default, the values stored in a font\(cqs TFM file are used to determine a glyph\(cqs extent\&. As these values are intended to implement optimal character placements and are not designed to represent the exact dimensions, they don\(cqt necessarily correspond with the bounds of the visual glyphs\&. Thus, width and/or height of some glyphs may be larger (or smaller) than the respective TFM values\&. As a result, this can lead to clipped characters at the bounds of the SVG graphics\&. With option
-\fB\-\-exact\fR
+\fB\-\-exact\-bbox\fR
given, dvisvgm analyzes the actual shape of each character and derives a usually tight bounding box\&.
.RE
.PP
@@ -258,7 +264,9 @@ is omitted, dvisvgm looks for the default map files
\fIpdftex\&.map\fR,
\fIdvipdfm\&.map\fR, and
\fIpsfonts\&.map\fR
-(in this order)\&. Otherwise, the files as option arguments are evaluated in the given order\&. Multiple filenames must be separated by commas without leading and/or trailing whitespace\&. By default, redefined mappings do not replace previous ones\&. However, each filename can be preceded by an optional mode specifier (\fB+\fR,
+(in this order)\&. Otherwise, the files given as option arguments are evaluated in the given order\&. Multiple filenames must be separated by commas without leading and/or trailing whitespace\&.
+.sp
+By default, redefined mappings do not replace previous ones\&. However, each filename can be preceded by an optional mode specifier (\fB+\fR,
\fB\-\fR, or
\fB=\fR) to change this behavior:
.PP
@@ -298,7 +306,10 @@ replace previous entries\&. Afterwards, all definitions for the fonts given in
\fImyfile2\&.map\fR
are removed from the font map tree\&.
.sp
-For further information about the map file formats and the mode specifiers, see the manuals of dvips and dvipdfm\&.
+For further information about the map file formats and the mode specifiers, see the manuals of
+dvips (\m[blue]https://tug.org/texinfohtml/dvips.html\m[])
+and
+dvipdfm (\m[blue]https://ctan.org/tex-archive/dviware/dvipdfm\m[])\&.
.RE
.RE
.PP
@@ -337,7 +348,7 @@ parameter is an integer value between 0 and 2\&. It selects the display variant
Disables the removal of temporary files as created by Metafont (usually \&.gf, \&.tfm, and \&.log files) or the TrueType/WOFF module\&.
.RE
.PP
-\fB\-\-libgs\fR=\fIfilename\fR
+\fB\-\-libgs\fR=\fIpath\fR
.RS 4
This option is only available if the Ghostscript library is not directly linked to dvisvgm and if PostScript support was not completely disabled during compilation\&. In this case, dvisvgm tries to load the shared GS library dynamically during runtime\&. By default, it expects the library\(cqs name to be
\fBlibgs\&.so\&.X\fR
@@ -345,10 +356,20 @@ This option is only available if the Ghostscript library is not directly linked
\fBX\fR
is the ABI version of the library) or
\fBgsdll32\&.dll\fR/\fBgsdll64\&.dll\fR
-(Windows)\&. Option
+(Windows)\&. If dvisvgm doesn\(cqt find the library, option
\fB\-\-libgs\fR
-can be used to give a different name\&. Alternatively, it\(cqs also possible to set the GS library name by the environment variable
-\fBLIBGS\fR\&. The latter has less precedence than the command\-line option, i\&.e\&. dvisvgm ignores variable
+can be used to specify the correct path and filename, e\&.g\&.
+\fB\-\-libgs=/usr/local/lib/libgs\&.so\&.9\fR
+or
+\fB\-\-libgs=\egs\egs9\&.25\ebin\egsdll64\&.dll\fR\&.
+.sp
+Alternatively, it\(cqs also possible to assign the path to environment variable
+\fBLIBGS\fR, e\&.g\&.
+\fBexport LIBGS=/usr/local/lib/libgs\&.so\&.9\fR
+or
+\fBset LIBGS=\egs\egs9\&.25\ebin\egsdll63\&.dll\fR\&.
+\fBLIBGS\fR
+has less precedence than the command\-line option, i\&.e\&. dvisvgm ignores variable
\fBLIBGS\fR
if
\fB\-\-libgs\fR
@@ -432,7 +453,7 @@ If this option is given, dvisvgm doesn\(cqt create SVG
\fIfont\fR
elements but uses
\fIpaths\fR
-instead\&. The resulting SVG files tend to be larger but they are concurrently more compatible with most applications that don\(cqt support SVG fonts yet\&. The optional argument
+instead\&. The resulting SVG files tend to be larger but are concurrently more compatible with most applications that don\(cqt support SVG fonts\&. The optional argument
\fIvariant\fR
selects the method how to substitute fonts by paths\&. Variant 0 creates
\fIpath\fR
@@ -469,6 +490,82 @@ By default, dvisvgm creates CSS styles and class attributes to reference fonts\&
\fB\-\-no\-styles\fR\&.
.RE
.PP
+\fB\-O, \-\-optimize\fR[=\fImodules\fR]
+.RS 4
+Applies several optimizations on the generated SVG tree to reduce the file size\&. The optimizations are performed by running separate optimizer modules specified by optional argument
+\fImodules\fR\&. It may consist of a single module name or a comma\-separated list of several module names\&. The corresponding modules are executed one by one in the given order and thus transform the XML tree gradually\&.
+.sp
+The following list describes the currently available optimizer modules\&.
+.PP
+\fBlist\fR
+.RS 4
+Lists all available optimizer modules and exits\&.
+.RE
+.PP
+\fBnone\fR
+.RS 4
+If this argument is given, dvisvgm doesn\(cqt apply any optimization\&.
+\fBnone\fR
+can\(cqt be combined with other module names\&.
+.RE
+.PP
+\fBall\fR
+.RS 4
+Performs all optimizations listed below\&. This is also the default if option
+\fB\-\-optimize\fR
+is used without argument\&. The modules are executed in a predefined order that usually leads to the best results\&.
+\fBall\fR
+can\(cqt be combined with other module names\&.
+.RE
+.PP
+\fBcollapse\-groups\fR
+.RS 4
+Combines nested group elements (\fB<g>\fR\&...\fB</g>\fR) that contain only a single group each\&. If possible, the group attributes are moved to the outermost element of the processed subtree\&. This module also unwraps group elements that have no attributes at all\&.
+.RE
+.PP
+\fBgroup\-attributes\fR
+.RS 4
+Creates groups (\fB<g>\fR\&...\fB</g>\fR) for common attributes around adjacent elements\&. Each attribute is moved to a separate group so that multiple common attributes lead to nested groups\&. They can be combined by applying optimizer module
+\fIcollapse\-groups\fR
+afterwards\&. The algorithm only takes inheritable properties, such as
+\fBfill\fR
+or
+\fBstroke\-width\fR, into account and only removes them from an element if none of the other attributes, like
+\fBid\fR, prevents this\&.
+.RE
+.PP
+\fBremove\-clippath\fR
+.RS 4
+Removes all redundant
+\fIclipPath\fR
+elements\&. This optimization was already present in former versions of dvisvgm and was always applied by default\&. This behavior is retained, i\&.e\&. dvisvgm executes this module even if option
+\fB\-\-optimize\fR
+is not given\&. You can use argument
+\fInone\fR
+to prevent that\&.
+.RE
+.PP
+\fBsimplify\-text\fR
+.RS 4
+If a
+\fBtext\fR
+element only contains whitespace nodes and
+\fBtspan\fR
+elements, all common inheritable attributes of the latter are moved to the enclosing text element\&. All
+\fBtspan\fR
+elements without further attributes are unwrapped\&.
+.RE
+.PP
+\fBsimplify\-transform\fR
+.RS 4
+Tries to shorten all
+\fItransform\fR
+attributes\&. This module combines the transformation commands of each attribute and decomposes the resulting transformation matrix into a sequence of basic transformations, i\&.e\&. translation, scaling, rotation, and skewing\&. If this sequence is shorter than the equivalent
+\fImatrix\fR
+expression, it\(cqs assigned to the attribute\&. Otherwise, the matrix expression is used\&.
+.RE
+.RE
+.PP
\fB\-o, \-\-output\fR=\fIpattern\fR
.RS 4
Sets the pattern specifying the names of the generated SVG files\&. Parameter
@@ -578,17 +675,20 @@ provides a combined hash computed from the DVI data and the command\-line option
Since the page number isn\(cqt part of the file name by default, different DVI pages with identical contents get the same file name\&. Therefore, only the first one is converted while the others are skipped\&. To create separate files for each page, you can add the page number to the output pattern, e\&.g\&.
\fB\-\-output="%f\-%p\-%hc"\fR\&.
.sp
-By default, dvisvgm uses the XXH64 hash algorithm to compute the values provided through
+By default, dvisvgm uses the fast XXH64 hash algorithm to compute the values provided through
\fB%hd\fR
and
-\fB%hc\fR\&. It\(cqs extremely fast, and a 64\-bit hash should be sufficient for most documents with an average size of pages\&. Alternatively, XXH32 and MD5 can be used as well\&. The desired algorithm is specified by argument
+\fB%hc\fR\&. 64\-bit hashes should be sufficient for most documents with an average size of pages\&. Alternatively, XXH32 and MD5 can be used as well\&. The desired algorithm is specified by argument
\fIparams\fR
of option
\fB\-\-page\-hashes\fR\&. It takes one of the strings
\fBMD5\fR,
\fBXXH32\fR, and
\fBXXH64\fR, where the names can be given in lower case too, like
-\fB\-\-page\-hashes=md5\fR\&.
+\fB\-\-page\-hashes=md5\fR\&. Since version 0\&.7\&.1, xxHash provides an experimental 128\-bit hash function, whose algorithm may still change with the next versions of the library\&. If the corresponding API is available, dvisvgm supports the new hash function and option
+\fB\-\-page\-hashes\fR
+additionally accepts the algorithm specifier
+\fBXXH128\fR\&.
.sp
Finally, option
\fB\-\-page\-hashes\fR
@@ -986,17 +1086,22 @@ dvisvgm offers its own small set of specials\&. The following list gives a brief
.PP
\fBdvisvgm:raw\fR \fItext\fR
.RS 4
-Adds an arbitrary sequence of characters to the page section of the SVG document\&. dvisvgm does not perform any validation here, thus the user has to ensure that the resulting SVG is still valid\&. Parameter
+Adds an arbitrary sequence of XML nodes to the page section of the SVG document\&. dvisvgm checks syntax and proper nesting of the inserted elements but does not perform any validation, thus the user has to ensure that the resulting SVG is still valid\&. Opening and closing tags may be distributed among different
+\fBraw\fR
+specials\&. The tags themselves can also be split but must be continued with the immediatly following
+\fBraw\fR
+special\&. Both syntactically incorrect and wrongly nested tags lead to error messages\&. Parameter
\fItext\fR
-may contain the expressions
+may also contain the expressions
\fB{?x}\fR,
-\fB{?y}\fR, and
-\fB{?color}\fR
+\fB{?y}\fR,
+\fB{?color}\fR, and
+\fB{?matrix}\fR
that expand to the current
\fIx\fR
or
\fIy\fR
-coordinate and the current color, respectively\&. Furthermore,
+coordinate, the current color, and current transformation matrix, respectively\&. Furthermore,
\fB{?nl}\fR
expands to a newline character\&.
.RE
@@ -1004,7 +1109,7 @@ expands to a newline character\&.
\fBdvisvgm:rawdef\fR \fItext\fR
.RS 4
This command is similar to
-\fBdvisvgm:raw\fR, but puts the raw text into the <defs> section of the SVG document currently being generated\&.
+\fBdvisvgm:raw\fR, but puts the XML nodes into the <defs> section of the SVG document currently being generated\&.
.RE
.PP
\fBdvisvgm:rawset\fR \fIname\fR \&... \fBdvisvgm:endrawset\fR
@@ -1017,7 +1122,7 @@ specials enclosed by
\fBdvisvgm:rawset\fR
and
\fBdvisvgm:endrawset\fR
-are not evaluated immediately but jointly stored under the given
+are not evaluated immediately but stored together under the given
\fIname\fR
for later use\&. Once defined, the named fragment can be referenced throughout the DVI file by
\fBdvisvgm:rawput\fR
@@ -1065,6 +1170,16 @@ can be given together with a unit specifier (see option
\fB\-\-bbox\fR) or as plain floating point numbers\&. In the latter case, TeX point units are assumed (1in = 72\&.27pt)\&.
.RE
.PP
+\fBdvisvgm:bbox\fR lock
+.RS 4
+Locks the bounding box of the current page and prevents it from further updating, i\&.e\&. graphics elements added after calling this special are not taken into account in determining the extent of the bounding box\&.
+.RE
+.PP
+\fBdvisvgm:bbox\fR unlock
+.RS 4
+Unlocks the previously locked bounding box of the current page so that it gets updated again when adding graphics elements to the page\&.
+.RE
+.PP
\fBdvisvgm:bbox\fR n[ew] \fIname\fR
.RS 4
Defines or resets a local bounding box called
@@ -1082,7 +1197,7 @@ expands to the four values
wasn\(cqt previously defined, all four values equal to zero\&.
.RE
.PP
-\fBdvisvgm:bbox\fR \fIwidth\fR \fIheight\fR [\fIdepth\fR]
+\fBdvisvgm:bbox\fR \fIwidth\fR \fIheight\fR [\fIdepth\fR] [\fBtransform\fR]
.RS 4
Updates the bounding box of the current page by embedding a virtual rectangle (\fIx\fR,
\fIy\fR,
@@ -1098,17 +1213,23 @@ is specified, dvisvgm embeds a second rectangle (\fIx\fR,
can be given together with a unit specifier (see option
\fB\-\-bbox\fR) or as plain floating point numbers\&. In the latter case, TeX point units are assumed (1in = 72\&.27pt)\&. Depending on size and position of the virtual rectangle, this command either enlarges the overall bounding box or leaves it as is\&. It\(cqs not possible to reduce its extent\&. This special should be used together with
\fBdvisvgm:raw\fR
-in order to update the viewport of the page properly\&.
+in order to update the viewport of the page properly\&. By default, the box extents are assigned unchanged and, in particular, are not altered by transformation commands\&. In order to apply the current transformation matrix, the optional modifier
+\fBtransform\fR
+can be added at the end of the special statement\&.
.RE
.PP
-\fBdvisvgm:bbox\fR a[bs] \fIx1\fR \fIy1\fR \fIx2\fR \fIy2\fR
+\fBdvisvgm:bbox\fR a[bs] \fIx1\fR \fIy1\fR \fIx2\fR \fIy2\fR [\fBtransform\fR]
.RS 4
-This variant of the bbox special updates the bounding box by embedding a virtual rectangle (\fIx1\fR,\fIy1\fR,\fIx2\fR,\fIy2\fR)\&. The points (\fIx1\fR,\fIy1\fR) and (\fIx2\fR,\fIy2\fR) denote the absolute coordinates of two diagonal corners of the rectangle\&.
+This variant of the bbox special updates the bounding box by embedding a virtual rectangle (\fIx1\fR,\fIy1\fR,\fIx2\fR,\fIy2\fR)\&. The points (\fIx1\fR,\fIy1\fR) and (\fIx2\fR,\fIy2\fR) denote the absolute coordinates of two diagonal corners of the rectangle\&. As with the relative special variant described above, the optional modifier
+\fBtransform\fR
+allows for applying the current transformation matrix to the bounding box\&.
.RE
.PP
-\fBdvisvgm:bbox\fR f[ix] \fIx1\fR \fIy1\fR \fIx2\fR \fIy2\fR
+\fBdvisvgm:bbox\fR f[ix] \fIx1\fR \fIy1\fR \fIx2\fR \fIy2\fR [\fBtransform\fR]
.RS 4
-This variant of the bbox special assigns an absolute (final) bounding box to the resulting SVG\&. After executing this command, dvisvgm doesn\(cqt further alter the bounding box coordinates, except this special is called again later\&. The points (\fIx1\fR,\fIy1\fR) and (\fIx2\fR,\fIy2\fR) denote the absolute coordinates of two diagonal corners of the rectangle\&.
+This variant of the bbox special assigns an absolute (final) bounding box to the resulting SVG\&. After executing this command, dvisvgm doesn\(cqt further alter the bounding box coordinates, except this special is called again later\&. The points (\fIx1\fR,\fIy1\fR) and (\fIx2\fR,\fIy2\fR) denote the absolute coordinates of two diagonal corners of the rectangle\&. As with the relative special variant described above, the optional modifier
+\fBtransform\fR
+allows for applying the current transformation matrix to the bounding box\&.
.sp
The following TeX snippet adds two raw SVG elements to the output and updates the bounding box accordingly:
.sp
@@ -1117,11 +1238,11 @@ The following TeX snippet adds two raw SVG elements to the output and updates th
.\}
.nf
\especial{dvisvgm:raw <circle cx=\*(Aq{?x}\*(Aq cy=\*(Aq{?y}\*(Aq r=\*(Aq10\*(Aq stroke=\*(Aqblack\*(Aq fill=\*(Aqred\*(Aq/>}%
-\especial{dvisvgm:bbox 10bp 10bp 10bp}%
-\especial{dvisvgm:bbox \-10bp 10bp 10bp}
+\especial{dvisvgm:bbox 10bp 10bp 10bp transform}%
+\especial{dvisvgm:bbox \-10bp 10bp 10bp transform}
-\especial{dvisvgm:raw <path d=\*(AqM50 200 L10 250 H100 Z\*(Aq stroke=\*(Aqblack\*(Aq fill=\*(Aqblue\*(Aq/>}
-\especial{dvisvgm:bbox abs 10bp 200bp 100bp 250bp}
+\especial{dvisvgm:raw <path d=\*(AqM50 200 L10 250 H100 Z\*(Aq stroke=\*(Aqblack\*(Aq fill=\*(Aqblue\*(Aq/>}%
+\especial{dvisvgm:bbox abs 10bp 200bp 100bp 250bp transform}
.fi
.if n \{\
.RE
@@ -1181,8 +1302,8 @@ pdfTeX user manual (\m[blue]https://ctan.org/pkg/pdftex\m[])\&.
\fBps\fR
.RS 4
The famous DVI driver
-\fIdvips\fR
-introduced its own set of specials in order to embed PostScript code into DVI files, which greatly improves the capabilities of DVI documents\&. One aim of dvisvgm is to completely evaluate all PostScript snippets and to convert as many of them as possible to SVG\&. In contrast to dvips, dvisvgm uses floating point arithmetics to compute the precise position of each graphic element, i\&.e\&. it doesn\(cqt round the coordinates\&. Therefore, the relative locations of the graphic elements may slightly differ from those computed by dvips\&.
+\fIdvips\fR (\m[blue]https://www.tug.org/texinfohtml/dvips.html\m[])
+introduced its own set of specials in order to embed PostScript code into DVI files, which greatly improves the capabilities of DVI documents\&. One aim of dvisvgm is to completely evaluate all PostScript fragments and to convert as many of them as possible to SVG\&. In contrast to dvips, dvisvgm uses floating point arithmetics to compute the precise position of each graphic element, i\&.e\&. it doesn\(cqt round the coordinates\&. Therefore, the relative locations of the graphic elements may slightly differ from those computed by dvips\&.
.sp
Since PostScript is a rather complex language, dvisvgm does not implement its own PostScript interpreter but relies on
Ghostscript (\m[blue]https://ghostscript.com\m[])
@@ -1219,66 +1340,75 @@ If you call dvisvgm with option
The TPIC special set defines instructions for drawing simple geometric objects\&. Some LaTeX packages, like eepic and tplot, use these specials to describe graphics\&.
.RE
.SH "EXAMPLES"
-.sp
-.if n \{\
+.PP
+\fBdvisvgm file\fR
.RS 4
-.\}
-.nf
-dvisvgm file
-.fi
-.if n \{\
+Converts the first page of
+\fIfile\&.dvi\fR
+to
+\fIfile\&.svg\fR\&.
.RE
-.\}
-.sp
-Converts the first page of \fIfile\&.dvi\fR to \fIfile\&.svg\fR\&.
-.sp
-.if n \{\
+.PP
+\fBdvisvgm \-p1\-5 file\fR
.RS 4
-.\}
-.nf
-dvisvgm \- < file\&.dvi
-.fi
-.if n \{\
+Converts the first five pages of
+\fIfile\&.dvi\fR
+to
+\fIfile\-1\&.svg\fR,\&...,\fIfile\-5\&.svg\fR\&.
.RE
-.\}
-.sp
-Converts the first page of \fIfile\&.dvi\fR to \fIstdin\&.svg\fR where the contents of \fIfile\&.dvi\fR is read from \fBstdin\fR\&.
-.sp
-.if n \{\
+.PP
+\fBdvisvgm \-p1\- file\fR
.RS 4
-.\}
-.nf
-dvisvgm \-z file
-.fi
-.if n \{\
+Converts all pages of
+\fIfile\&.dvi\fR
+to separate SVG files\&.
.RE
-.\}
-.sp
-Converts the first page of \fIfile\&.dvi\fR to \fIfile\&.svgz\fR with default compression level 9\&.
-.sp
-.if n \{\
+.PP
+\fBdvisvgm \-p1,3 \-O file\fR
.RS 4
-.\}
-.nf
-dvisvgm \-p5 \-z3 \-ba4\-l \-onewfile file
-.fi
-.if n \{\
+Converts the first and third page of
+\fIfile\&.dvi\fR
+to optimized SVG files\&.
.RE
-.\}
-.sp
-Converts the fifth page of \fIfile\&.dvi\fR to \fInewfile\&.svgz\fR with compression level 3\&. The bounding box is set to DIN/ISO A4 in landscape format\&.
-.sp
-.if n \{\
+.PP
+\fBdvisvgm \- < file\&.dvi\fR
.RS 4
-.\}
-.nf
-dvisvgm \-\-transform="R20,w/3,2h/5 T1cm,1cm S2,3" file
-.fi
-.if n \{\
+Converts the first page of
+\fIfile\&.dvi\fR
+to
+\fIstdin\&.svg\fR
+where the contents of
+\fIfile\&.dvi\fR
+is read from
+\fBstdin\fR\&.
+.RE
+.PP
+\fBdvisvgm \-z file\fR
+.RS 4
+Converts the first page of
+\fIfile\&.dvi\fR
+to
+\fIfile\&.svgz\fR
+with default compression level 9\&.
+.RE
+.PP
+\fBdvisvgm \-p5 \-z3 \-ba4\-l \-o newfile file\fR
+.RS 4
+Converts the fifth page of
+\fIfile\&.dvi\fR
+to
+\fInewfile\&.svgz\fR
+with compression level 3\&. The bounding box is set to DIN/ISO A4 in landscape format\&.
+.RE
+.PP
+\fBdvisvgm \-\-transform="R20,w/3,2h/5 T1cm,1cm S2,3" file\fR
+.RS 4
+Converts the first page of
+\fIfile\&.dvi\fR
+to
+\fIfile\&.svg\fR
+where three transformations are applied\&.
.RE
-.\}
-.sp
-Converts the first page of \fIfile\&.dvi\fR to \fIfile\&.svg\fR where three transformations are applied\&.
.SH "ENVIRONMENT"
.sp
dvisvgm uses the \fBkpathsea\fR library for locating the files that it opens\&. Hence, the environment variables described in the library\(cqs documentation influence the converter\&.