diff options
Diffstat (limited to 'Master/texmf-doc/doc/english/make-tex-work/html/ch08.html')
-rw-r--r-- | Master/texmf-doc/doc/english/make-tex-work/html/ch08.html | 2376 |
1 files changed, 2376 insertions, 0 deletions
diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/ch08.html b/Master/texmf-doc/doc/english/make-tex-work/html/ch08.html new file mode 100644 index 00000000000..8144b2cb503 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/ch08.html @@ -0,0 +1,2376 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta name="generator" + content="HTML Tidy for Linux/x86 (vers 1st March 2002), see www.w3.org" /> + <meta http-equiv="Content-Type" + content="text/html; charset=ISO-8859-1" /> + + <title>Chapter 8. Printing</title> + <link rel="stylesheet" href="mtw.css" type="text/css" /> + <meta name="generator" + content="DocBook XSL Stylesheets V1.53.0" /> + <link rel="home" href="index.html" title="Making TeX Work" /> + <link rel="up" href="pt02.html" + title="Part II. Elements of a Complex Document" /> + <link rel="previous" href="ch07.html" + title="Chapter 7. International Considerations" /> + <link rel="next" href="ch09.html" + title="Chapter 9. Previewing" /> + </head> + + <body> + <div class="navheader"> + <table border="0" cellpadding="0" cellspacing="0" + width="100%" summary="Navigation table"> + <tr> + <td align="left"> <a title="Making TeX Work" + href="index.html"><img src="figures/nav-home.png" + alt="Home" border="0" /></a> <a + title="Chapter 7. International Considerations" + href="ch07.html"><img src="figures/nav-prev.png" + alt="Prev" border="0" /></a> <a + title="Part II. Elements of a Complex Document" + href="pt02.html"><img src="figures/nav-up.png" alt="Up" + border="0" /></a> <a + title="Chapter 9. Previewing" + href="ch09.html"><img src="figures/nav-next.png" + alt="Next" border="0" /></a></td> + + <td align="right"><i>Making TeX Work</i> Version 1.0.1 + <span class="alpha-version">(<a + href="co01.html"><em>Alpha</em></a>)</span></td> + </tr> + </table> + </div> + + <div class="chapter"> + <div class="titlepage"> + <div> + <h2 class="title"><a id="chap.printing" + name="chap.printing"></a>Chapter 8. Printing</h2> + </div> + + <div> + <p class="releaseinfo">$Revision: 1.1 $</p> + </div> + + <div> + <p class="pubdate">$Date: 2002/08/23 14:31:13 $</p> + </div> + <hr class="component-separator" /> + </div> + + <p><a id="id2902696" class="indexterm" + name="id2902696"></a><a id="id2902703" class="indexterm" + name="id2902703"></a> The emphasis in this book so far has + been on getting TeX to process a document that contains all + the desired typographic elements without error. The result of + this effort is a <tt>DVI</tt> file<a id="id2902726" + class="indexterm" name="id2902726"></a>.</p> + + <p>The next step is translating the <tt>DVI</tt> file into a + printed document<a id="id2902441" class="indexterm" + name="id2902441"></a>. That is the focus of this chapter. + Usually, you want to preview a document before you print it, + but in many ways previewers are just a special kind of + printer. The two do differ significantly, however, so we will + discuss them separately. (Chapter <a href="ch09.html" + title="Chapter 9. Previewing">Chapter 9</a>, + <span class="emphasis"><em><a href="ch09.html" + title="Chapter 9. Previewing">Chapter 9</a></em></span>, + describes previewers.)</p> + + <p>This chapter explores the issues related to printing a DVI + file. There are sections concerning the printing of fonts, + the printing of pictures and figures, and descriptions of + several kinds of drivers you can use to print TeX + documents.</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a + id="sec.printing" name="sec.printing"></a>Printing + Fonts</h2> + </div> + </div> + + <p>If you have <a id="id2902499" class="indexterm" + name="id2902499"></a><a id="id2902509" class="indexterm" + name="id2902509"></a> a <tt>TFM</tt> file for a font, you + can use that font in TeX. In fact, you can use that font at + an arbitrary magnification in TeX, which means that you can + use Courier at 13.4pt as easily as Computer Modern Roman at + 10pt. Unfortunately, this ease of use does not imply that + the resulting <tt>DVI</tt> file will be easy to print. It + doesn't even imply that it will be possible to print the + document. For example, if you request Courier at 13.4pt, + but it is available in your printer only at 10pt and 12pt + (and you have no other source for Courier), there is no way + to print your document without distortion.</p> + + <p>This section discusses the issues involved in getting + the desired fonts to print from your DVI file. Both + bitmapped and scalable fonts are considered, as well as + fonts built into the printer. You will also gain a better + understanding of why some documents do not print, and learn + alternatives that may enable you to print your + documents.</p> + + <p>Every font can be classified in two broad, independent + ways: internal versus external, and scalable versus + bitmapped. Each class of fonts has some advantages and some + unique problems. In general, there are more restrictions on + built-in fonts than on external fonts, and more + restrictions on bitmapped fonts than on scalable fonts.</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="sec.bitfonts" + name="sec.bitfonts"></a>Built-in Fonts</h3> + </div> + </div> + + <p>Built-in fonts<a id="id2904394" class="indexterm" + name="id2904394"></a>, whether scalable or bitmapped, + pose two problems. First, you must obtain the appropriate + <tt>TFM</tt> files<a id="id2904419" class="indexterm" + name="id2904419"></a>. Usually, the metric information + has to be supplied by the vendor and then translated into + TeX <tt>TFM</tt> format using a conversion tool. No + vendor that I am aware of distributes TeX metric<a + id="id2904441" class="indexterm" name="id2904441"></a> + information directly. The section called “<a + href="ch05.html#sec.gettingtfms" + title="Expressing Design Size in TeX">the section called + “Expressing Design Size in TeX”</a>” in + Chapter <a href="ch05.html" + title="Chapter 5. Fonts">Chapter 5</a>, + <span class="emphasis"><em><a href="ch05.html" + title="Chapter 5. Fonts">Chapter 5</a></em></span>, + describes several options for obtaining metric + information for built-in fonts.</p> + + <p>The second problem is that the DVI driver you are + using must “know” somehow that the + <tt>TFM</tt> file corresponds to one of the printer's + internal fonts. When the DVI driver examines the + <tt>DVI</tt> file, the only information available about + each font is the name of the <tt>TFM</tt> file that + describes its metrics. The most common way DVI drivers + handle this problem is with a font translation file or a + font substitution file.</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="id2904532" + name="id2904532"></a>Font substitution in + emTeX</h4> + </div> + </div> + + <p>emTeX's DVI driver reads a user-specified font + substitution file<a id="id2904540" class="indexterm" + name="id2904540"></a> before processing the + <tt>DVI</tt> file. A line like the following in the + font substitution file informs the <b>dvihplj</b><a + id="id2904572" class="indexterm" name="id2904572"></a> + driver that <tt>lpr1610u</tt> is an internal font and + describes the LaserJet control sequence required to + select it:</p> + + <div class="informalexample"> + <div class="literallayout"> + <p> + lpr1610u 300 => pcl: 10U s0P s16.66H s8.5V s0S s0B s0T</p> + </div> + </div> + + <p>Other substitutions are also possible. For example, + if you work with documents that come from other systems + that allow long filenames, you can substitute the long + names for shorter filenames that are legal under + MS-DOS. The following line in a font substitution file + tells emTeX that the font “<tt>tmsrmn</tt>” + should be used anywhere that a <tt>DVI</tt> file uses + the font “<tt>Times-Roman</tt>”:</p> + + <div class="informalexample"> + <div class="literallayout"> + <p>Times-Roman -> tmsrmn</p> + </div> + </div> + + <p>You can use even more sophisticated substitutions, + including pattern matching, for example. Consult <span + class="emphasis"><em>The {emTeX} DVI Driver + Manual</em></span> [<a + href="bi01.html#em:dvidrv">em:dvidrv</a>] for more + information.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="id2904676" + name="id2904676"></a>Font substitution in + \dvips</h4> + </div> + </div> + + <p>The <b>dvips</b><a id="id2904690" class="indexterm" + name="id2904690"></a> program, which translates + <tt>DVI</tt> files into PostScript, also reads a font + substitution file before processing a <tt>DVI</tt> + file. In addition to identifying which fonts are built + into the printer, the substitution file can also + instruct <b>dvips</b> to download PostScript fonts that + are not resident in your printer if they are used in a + document.</p> + + <p><b>dvips</b> has a system-wide font substitution + file called <tt>psfonts.map</tt><a id="id2904749" + class="indexterm" name="id2904749"></a>. This file is + distributed with <b>dvips</b> and can be customized by + your system administrator. You can tell <b>dvips</b> to + load a personal font substitution file by using the + <span class="emphasis"><em>p</em></span> command in + <b>dvips</b>'s initialization file (called + <tt>.dvipsrc</tt> in your home directory on unix + systems). Consult the <b>dvips</b> documentation for + more information about setting up an initialization + file.</p> + + <p>The following lines in a font substitution file + indicate that the font <tt>grbk</tt> (which is the name + of the <tt>TFM</tt> file) corresponds to the built-in + printer font Garamond-Book. The <tt>TFM</tt> file + <tt>hlvcd</tt> corresponds to the printer font + Helvetica-Condensed. Helvetica-Condensed is not built + into the printer but is stored in the file + <tt>/home/walsh/fonts/helvcd.pfb</tt>. If + <tt>hlvcd</tt> is used in a document, <b>dvips</b> will + download <tt>helvcd.pfb</tt> automatically when it + converts the document.</p> +<pre class="screen"> +grbk Garamond-Book +hlvcd Helvetica-Condensed </home/walsh/fonts/helvcd.pfb +</pre> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="id2904885" + name="id2904885"></a>Font substitution in other + drivers</h4> + </div> + </div> + + <p>Other DVI drivers, particularly those written for + operating environments like Microsoft Windows that + provide a standard interface to printers, may leave the + distinction between built-in and external fonts up to + the operating environment. If this is the case, you + must use the tools provided by the operating system to + support the printers and fonts that you require.</p> + + <p>If your DVI driver does use a font substitution + file, make sure that the translations specified + actually exist. The DVI driver cannot practically + determine if the font you have specified as built into + the printer really exists or not. If it doesn't, you + won't get the output you expect, and the DVI driver + will not be able to diagnose the problem.</p> + + <p>The most significant disadvantage of using built-in + fonts is that they are not usually available for + on-screen previewing of your document. Some form of + font substitution has to be employed to preview a + document. Sometimes this reduces the utility of + on-screen previewing. Chapter <a href="ch09.html" + title="Chapter 9. Previewing">Chapter 9</a>, + <span class="emphasis"><em><a href="ch09.html" + title="Chapter 9. Previewing">Chapter 9</a></em></span>, + discusses this issue in more detail.</p> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2904946" + name="id2904946"></a>External Fonts</h3> + </div> + </div> + + <p>External fonts<a id="id2904955" class="indexterm" + name="id2904955"></a>, those that aren't built into the + printer, pose a different set of problems. First, they + have to be available to the DVI driver, and they have to + be represented in a manner that the DVI driver + understands. For the vast majority of DVI drivers, this + means that the fonts must be stored in files on your hard + disk in <tt>PK</tt> format. The <tt>PK</tt><a + id="id2904990" class="indexterm" name="id2904990"></a> + files contain a compressed, bitmapped rendering of the + font at a particular resolution. For more information + about <tt>PK</tt> files and other bitmapped-font issues, + see “<a href="ch08.html#sec.bitfonts" + title="Built-in Fonts">the section called “Built-in + Fonts”</a>” later in this chapter.</p> + + <p>Most DVI drivers locate fonts by searching in the + directories contained in an environment variable or in + some system-dependent locations.</p> + + <p>Once the fonts are available, the DVI driver has two + options for using them: it can download them to the + printer, or it can send them as bitmapped graphic images. + Most laser printers can accept downloadable fonts, + although they may require additional memory to accept + large numbers of fonts. In either case, the printable + files are generally larger and print more slowly than + documents that use the printer's built-in fonts. Of + course, using external fonts does give you far more + flexibility than using only built-in fonts.</p> + + <p>Unlike a missing internal font, if you attempt to use + an external font that is not available, your DVI driver + will be able to detect the problem and may be able to + substitute another font or compensate in some other + way.</p> + + <div class="sidebar"> + <p class="title"><b>Increasing Printing Speed</b></p> + + <p>How can you increase printing speed<a id="id2905074" + class="indexterm" name="id2905074"></a> if you + frequently print, on a laser printer, documents that + use a small number of external fonts (for example, + several sizes of Computer Modern)? A handy trick is to + download the fonts manually and then tell the DVI + driver that the fonts are built-in.</p> + + <p>Suppose you use the 7pt, 10pt, and 12pt sizes of + Computer Modern Roman, and the 12pt and 14pt sizes of + Computer Modern Bold Extended in most of your + documents. If you are printing on an HP LaserJet + printer with emTeX's <b>dvihplj</b>, you could convert + the relevant <tt>PK</tt> files into HP LaserJet + softfonts with <b>PKtoSFP</b><a id="id2905121" + class="indexterm" name="id2905121"></a> (see the + discussion of bitmapped fonts in the next section to + determine which <tt>PK</tt> files are relevant). Then + download them to the printer every morning with a + utility like <b>Sfload</b><a id="id2905150" + class="indexterm" name="id2905150"></a>. <b>Sfload</b> + is part of the <b>Sfware</b><a id="id2905171" + class="indexterm" name="id2905171"></a> package. + (Disclaimer: I wrote <b>Sfware</b> so I'm partial to + it. There are many other programs that can download + softfonts.) In the font-substitution file for + <b>dvihplj</b><a id="id2905194" class="indexterm" + name="id2905194"></a>, simply indicate that those fonts + are built-in, and <b>dvihplj</b> will no longer + download them for each document. This can significantly + decrease the amount of data that must be sent to the + printer for each document.</p> + + <p>Beware, however, that if you fail to download the + fonts, you will get very badly garbled output when you + print a document.</p> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2905223" + name="id2905223"></a>Bitmapped Fonts</h3> + </div> + </div> + + <p>Each character in a bitmapped font is represented by a + rectangular array of dots. Some of the dots in this array + are “on,” and some are “off.” + When the dots are printed very close together, they + provide the illusion of a solid character. Bitmapped + fonts are common in the TeX community because all of the + fonts created by MetaFont are printed in bitmapped + form.</p> + + <p>The notion of magnification discussed in the section + called “<a href="ch05.html#sec.issueofsize" + title="What TeX Needs To Know">the section called + “What TeX Needs To Know”</a>” in + Chapter <a href="ch05.html" + title="Chapter 5. Fonts">Chapter 5</a> is + interpreted as an issue of resolution when dealing with + bitmapped fonts.</p> + + <p>Resolution<a id="id2905279" class="indexterm" + name="id2905279"></a> is used in a slightly + counter-intuitive way by DVI drivers. Generally, + resolution is described as a feature of a device that + affects the <span + class="emphasis"><em>appearance</em></span> of images + printed on that device and not their <span + class="emphasis"><em>size</em></span>. For example, in + comparing two drawings in which one was printed on 150dpi + dot-matrix printer and the other was printed on a 300dpi + laser printer, I might say, “the laser printed page + looks better because it was printed at a higher + resolution.”</p> + + <p>That's true, but what isn't usually stated explicitly + is that the comparison is between a 150dpi drawing + rendered at 150dpi and a 300dpi drawing rendered at + 300dpi. This is the situation shown in Figure <a + href="ch08.html#fig.reschange" + title="Figure 8.1. Resolution of the bitmap and the device changed simultaneously"> + Figure 8.1</a> where a 4dpi image is printed at 4dpi + next to an 8dpi image printed at 8dpi.</p> + + <div class="figure"> + <a id="fig.reschange" name="fig.reschange"></a> + + <p class="title"><b>Figure 8.1. Resolution of + the bitmap and the device changed + simultaneously</b></p> +<pre class="screen"> + \input{ft-resch.fig} +</pre> + </div> + + <p>What if the resolution of the printer were held + constant? That's the situation shown in Figure <a + href="ch08.html#fig.sizechange" + title="Figure 8.2. Resolution of the bitmap changed while device held constant"> + Figure 8.2</a>. The 4dpi image printed at 4dpi is + shown next to the 8dpi image printed at 4dpi. The result + is that the size of the image is doubled.</p> + + <div class="figure"> + <a id="fig.sizechange" name="fig.sizechange"></a> + + <p class="title"><b>Figure 8.2. Resolution of + the bitmap changed while device held constant</b></p> +<pre class="screen"> + \input{ft-sizch.fig} +</pre> + </div> + + <p>This is the technique that DVI drivers use to print a + larger magnification of the same font; they print a + version of the font designed for a correspondingly + higher-resolution device. The same technique is used to + print at smaller magnifications.</p> + + <p>Most DVI drivers use bitmapped fonts stored in + <tt>PK</tt> files<a id="id2905416" class="indexterm" + name="id2905416"></a>. The <tt>PK</tt> format is a highly + compressed binary format.<sup>[<a id="id2905446" + name="id2905446" href="#ftn.id2905446">99</a>]</sup> Two + other bitmapped font formats (sometimes accepted by DVI + drivers) are associated with TeX: <tt>GF</tt><a + id="id2905494" class="indexterm" name="id2905494"></a> + and <tt>PXL</tt> files<a id="id2905511" class="indexterm" + name="id2905511"></a>. The <tt>GF</tt> format is a very + flat, uncompressed bitmap format produced by several + utility programs, including MetaFont. The <b>GFtoPK<a + id="id2905547" class="indexterm" + name="id2905547"></a></b> program converts <tt>GF</tt> + files into <tt>PK</tt> files. The <tt>PXL</tt> format<a + id="id2905584" class="indexterm" name="id2905584"></a> is + an uncompressed bitmap format; it has been superseded by + the <tt>PK</tt> format (which achieves better + compression) and is completely obsolete. If you still + have <tt>PXL</tt> files, you should convert them to + <tt>PK</tt> format with the <b>PXtoPK</b><a + id="id2905640" class="indexterm" name="id2905640"></a> + utility. If you are using a DVI driver that still + requires <tt>PXL</tt> files, you should find out about an + upgrade; the program is obsolete.</p> + + <p>The fact that DVI drivers use different resolutions of + the same font file to obtain different magnifications + introduces a naming problem. How can the DVI driver + distinguish between <tt>cmr12.pk</tt> at 300dpi and + <tt>cmr12.pk</tt> at 360dpi (or any other + resolution)?</p> + + <p>On unix systems, this problem is usually resolved by + putting the resolution in the filename in front of the + extension <span class="emphasis"><em>pk</em></span>. For + example, <tt>cmr12.300pk</tt> is <tt>cmr12</tt> at 300dpi + while <tt>cmr12.360pk</tt> is <tt>cmr12</tt> at + 360dpi.</p> + + <p>On many other systems, where the operating system + imposes limits on the length of filenames, a solution is + achieved by storing the fonts in different + subdirectories. On MS-DOS, for example, the 300dpi + version of <tt>cmr12</tt> might be stored in <span + class="emphasis"><em>\bs texfonts\bs 300dpi\bs + cmr12.pk</em></span> while the 360dpi version is stored + in <span class="emphasis"><em>\bs texfonts\bs 360dpi\bs + cmr12.pk</em></span>.</p> + + <p>In either case, you should obey the conventions + specified by your DVI driver to assure that the DVI + driver can find the fonts. One common solution to the + problem of finding fonts is to use an environment + variable to list the directories where <tt>PK</tt> files + occur. For example, on a unix system, the environment + variable <tt>TEXPKS</tt> might hold a list of directories + separated by colons:<sup>[<a id="id2905773" + name="id2905773" href="#ftn.id2905773">100</a>]</sup></p> +<pre class="screen"> +TEXPKS=/usr/local/lib/tex/fonts:/usr/local/lib/tex/fonts/pk: /usr/local/lib/mf/fonts:/usr/local/lib/mf/fonts/pk +</pre> + + <p>Under MS-DOS, the environment variable + <tt>DVIDRVFONTS</tt> might hold a list of directories + separated by semicolons:</p> +<pre class="screen"> +DVIDRVFONTS=C:\TEXFONTS;C:\MYFONTS +</pre> + + <p>The format of the environment variable and how it is + created or modified is determined by the operating + environment that you are using. The name of the + environment variable differs according to the DVI + driver.</p> + + <p>To recap, TeX works with <span + class="emphasis"><em>magnifications</em></span><a + id="id2905827" class="indexterm" name="id2905827"></a><a + id="id2905837" class="indexterm" name="id2905837"></a> of + abstract, scalable measurements; DVI drivers work with + <span class="emphasis"><em>resolutions</em></span> of + fixed, bitmapped images.</p> + + <p>To convert a magnification into a resolution, multiply + the resolution of your output device by the + magnification. A font at a magnification of 120\% on a + 300dpi laser printer has a resolution of 360dpi.</p> + + <p>To convert a resolution into a magnification, divide + the font resolution by the resolution of the printer. A + 420dpi font on a 300dpi laser printer has a magnification + of 140\%.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2905872" + name="id2905872"></a>Scalable Fonts</h3> + </div> + </div> + + <p>Although scalable fonts<a id="id2905881" + class="indexterm" name="id2905881"></a> used to be very + uncommon, the proliferation of PostScript printers and + products like Adobe Type Manager (not to mention built-in + support for TrueType fonts in Apple System 7.0 and + Microsoft Windows 3.1) have made these fonts very common. + It is important to remember that scalable fonts are + ultimately converted into bitmapped fonts. All printers + eventually treat the page as a very large bitmap and + either do or do not deposit a small amount of ink in each + position in the bitmap.</p> + + <p>Most DVI drivers leave the work of performing this + rasterization to someone else. If you are not using a + PostScript printer, you probably rely on some other piece + of software to do the work. Adobe Type Manager and + built-in support for TrueType are the most common + software solutions. Some printers, like the LaserJet III, + have built-in scalable fonts as well, even though they + are not PostScript printers.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2905916" + name="id2905916"></a>Font Printing Pitfalls</h3> + </div> + </div> + + <p>Sometimes you need a font at a size that is not + available. Because scalable fonts are available at any + size, this is a problem only with bitmapped fonts<a + id="id2905928" class="indexterm" name="id2905928"></a><a + id="id2905940" class="indexterm" name="id2905940"></a>. + Remember that MetaFont creates bitmapped fonts, but they + can be scaled because the <tt>MF</tt> source for the font + is not a bitmap. You can't scale the <tt>PK</tt> file, + but you can generate a new <tt>PK</tt> file at the size + you need. In order to do this, you must have MetaFont + installed, and you must have the <tt>MF</tt> source for + the font. Chapter <a href="ch11.html" + title="Chapter 11. Introducing MetaFont">Chapter 11</a>, + <span class="emphasis"><em><a href="ch11.html" + title="Chapter 11. Introducing MetaFont">Chapter 11</a></em></span>, + describes how to create a MetaFont font at any size.</p> + + <p>If the font isn't a MetaFont font, or you don't have + the <tt>MF</tt> source, you may still be able to scale + the font. However, you should be aware before you try + that the result may be unacceptable. Scaling bitmapped + fonts causes ugly, jagged edges if the font is scaled + larger, and loss of detail if it is scaled smaller. Small + changes in size are sometimes manageable.</p> + + <p>The <b>dvips</b> driver will scale bitmapped fonts if + it cannot find or build the requested font. + Alternatively, the <b>sffx</b><a id="id2906056" + class="indexterm" name="id2906056"></a> program can scale + HP LaserJet softfonts. I don't know of any other scaling + options.</p> + + <p>Non-scalable fonts that are built into the printer + cannot be scaled at all. If you need to have a built-in + font at an unavailable size, you will have to substitute + another font in place of the built-in one.</p> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2906078" + name="id2906078"></a>Printing Pictures and Figures</h2> + </div> + </div> + + <p>Pictures<a id="id2906087" class="indexterm" + name="id2906087"></a><a id="id2906097" class="indexterm" + name="id2906097"></a> and figures<a id="id2906108" + class="indexterm" name="id2906108"></a><a id="id2906118" + class="indexterm" name="id2906118"></a> are frequently the + least portable elements of a document. Chapter <a + href="ch06.html" + title="Chapter 6. Pictures and Figures">Chapter 6</a>, + <span class="emphasis"><em><a href="ch06.html" + title="Chapter 6. Pictures and Figures">Chapter 6</a></em></span>, + describes many of the options that are available for + including pictures and figures in a document.</p> + + <p>If the method used is supported by the DVI driver and + printer that you use, pictures and figures are + transparently printed. They are even less difficult to + print than fonts. On the other hand, if you are attempting + to print a document which incorporates pictures and figures + using a method not supported by your DVI driver or printer, + it may be exceptionally difficult to print the + document.</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2906166" + name="id2906166"></a>Unsolvable Problems</h3> + </div> + </div> + + <p><tt>DVI</tt> files are not always + “complete” with respect to pictures and + figures. Many documents use \special commands to access + DVI driver or printer-specific features in order to + include pictures and figures. These \specials may have + just the name of an external file that contains the + graphic image to be included. For example, using the + emTeX drivers, I can include a bitmapped graphic image + with the command \special\verb|{em:graph spslogo}|. When + emTeX's DVI drivers process this command, the graphic + image in the file <tt>spslogo.pcx</tt> is included in the + output. If I transmit this <tt>DVI</tt> file to another + computer but forget to transmit the file + <tt>spslogo.pcx</tt>, there is no way to print the + <tt>DVI</tt> file with the SPS logo.</p> + + <p>At first, it may seem that a good solution to the + problem described above would be to include the actual + data for the image in the \special command. But to do + that, TeX would have to process the image data, defeating + the purpose of the \special mechanism. The \special + mechanism is better because it is open ended---it can + handle new types of graphics, for example, without + changing TeX.</p> + + <p>The second, essentially unsolvable, problem involves + <tt>DVI</tt> files containing \special commands that have + embedded data. For example, one set of picture drawing + \special commands are the <tt>tpic</tt> \specials. If + your DVI driver does not understand these commands, there + is no practical way to extract them from the <tt>DVI</tt> + file in order to convert them into a format your DVI + driver understands. There may not even be a practical way + of extracting them from the TeX document to construct a + printable image. You simply can't print that document + with the <tt>tpic</tt> figures intact.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2906292" + name="id2906292"></a>Solvable Problems</h3> + </div> + </div> + + <p>If you have a document that includes an external + picture or figure using a method that your DVI driver or + printer does not understand, and you have the file that + contains the graphic image and the TeX source for the + document, you may be able to print it.</p> + + <p>The section called “<a + href="ch06.html#sec.picconv" + title="Manipulating Images">the section called + “Manipulating Images”</a>” in + Chapter <a href="ch06.html" + title="Chapter 6. Pictures and Figures">Chapter 6</a>, + lists a wide variety of picture conversion tools that may + allow you to convert the image into a printable form. For + example, if the document in question uses a \special + command to include a <tt>PCX</tt> graphic image, but your + DVI driver only understands the Macintosh <tt>PICT</tt> + format, you could use the <b>PBMplus</b><a id="id2906359" + class="indexterm" name="id2906359"></a> utilities to + convert the <tt>PCX</tt> image into <tt>PICT</tt> + format.</p> + + <p>A conversion that might frequently be necessary if you + work on both PostScript and non-PostScript printers is + conversion from encapsulated PostScript to a bitmap + format. This is a translation that <b>Ghostscript</b> or + some other PostScript interpreter can perform.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2906405" + name="id2906405"></a>Pictures Using Only TeX</h3> + </div> + </div> + + <p>Device-independent pictures created using only TeX + pose no particular printing problems. These include the + LaTeX <tt>picture</tt> environment, as well as the PiCTeX + and <b>XYPic</b> macro packages.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2906432" + name="id2906432"></a>MetaFont Figures</h3> + </div> + </div> + + <p>Pictures<a id="id2906441" class="indexterm" + name="id2906441"></a><a id="id2906454" class="indexterm" + name="id2906454"></a> created with MetaFont (using + <b>MFPic</b>, <b>Fig2MF</b>, or MetaFont directly) are + really MetaFont fonts. As a result, they can be created + for almost any raster output device.<sup>[<a + id="id2906483" name="id2906483" + href="#ftn.id2906483">101</a>]</sup> As long as MetaFont + is available and the figures aren't too large, they pose + no problems. Very large images may break some DVI drivers + or may not be printable on some output devices.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2906500" + name="id2906500"></a>Scalable Images</h3> + </div> + </div> + + <p>Scalable formats<a id="id2906509" class="indexterm" + name="id2906509"></a>, primarily PostScript and HPGL, are + difficult to convert to other printing technologies. + However, the <b>Ghostscript</b><a id="id2906527" + class="indexterm" name="id2906527"></a> program is one + option for PostScript figures, and <b>hp2xx</b><a + id="id2906542" class="indexterm" name="id2906542"></a> + can convert a subset of HPGL commands into other + formats.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2906554" + name="id2906554"></a>Bitmap Images</h3> + </div> + </div> + + <p>Bitmap images<a id="id2906563" class="indexterm" + name="id2906563"></a> are generally the easiest to + convert from one format to another, but there is another + issue that is more difficult to deal with---resolution. + Printing a bitmap image at 1200dpi if the original is + only 300dpi is not easy.</p> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2906581" + name="id2906581"></a>Selected Drivers</h2> + </div> + </div> + + <p>Table <a href="ch08.html#tab.drivers" + title="Table 8.1. Common DVI Drivers">Table 8.1</a> + lists a number of common DVI drivers<a id="id2906602" + class="indexterm" name="id2906602"></a><a id="id2906609" + class="indexterm" name="id2906609"></a> used to print TeX + documents (as opposed to previewing them). These drivers + are discussed in more detail in this section. The list of + drivers described here is nowhere near complete. The + presence or absence of a particular driver from this list + is not intended as a reflection on the quality of the + driver. I tried to select a representative set of free and + commercial drivers. Drivers for other printers usually + offer similar features.</p> + + <div class="table"> + <a id="tab.drivers" name="tab.drivers"></a> + + <p class="title"><b>Table 8.1. Common DVI + Drivers</b></p> + + <table summary="Common DVI Drivers" border="1"> + <colgroup> + <col align="left" /> + <col align="left" /> + <col align="left" /> + <col align="left" /> + </colgroup> + + <thead> + <tr> + <th align="left">\bf DVI driver</th> + + <th align="left">\bf Supplier</th> + + <th align="left">\bf System</th> + + <th align="left">\bf Printers</th> + </tr> + </thead> + + <tbody> + <tr> + <td align="left"><b>dvihplj</b></td> + + <td align="left">Free (emTeX)</td> + + <td align="left"> </td> + + <td align="left">HP LaserJet compatible</td> + </tr> + + <tr> + <td align="left"><b>dvidot</b></td> + + <td align="left">Free (emTeX)</td> + + <td align="left">MS-DOS+OS/2</td> + + <td align="left">Most dot matrix</td> + </tr> + + <tr> + <td align="left"><b>dvipcx</b></td> + + <td align="left">Free (emTeX)</td> + + <td align="left"> </td> + + <td align="left"><tt>PCX</tt> graphic images</td> + </tr> + + <tr> + <td align="left"><b>dvilj2</b></td> + + <td align="left">Free (<span + class="emphasis"><em>dvi2xx</em></span>)</td> + + <td align="left">Most</td> + + <td align="left">HP LaserJet compatible</td> + </tr> + + <tr> + <td align="left"><b>dvips</b></td> + + <td align="left">Free (<span + class="emphasis"><em>dvips</em></span>)</td> + + <td align="left">Most</td> + + <td align="left">PostScript</td> + </tr> + + <tr> + <td align="left"><b>DVILASER/HP</b></td> + + <td align="left">ArborText</td> + + <td align="left">MS-DOS, Unix</td> + + <td align="left">HP LaserJet compatible</td> + </tr> + + <tr> + <td align="left"><b>DVILASER/PS</b></td> + + <td align="left">ArborText</td> + + <td align="left">MS-DOS, Unix</td> + + <td align="left">PostScript</td> + </tr> + + <tr> + <td align="left"><b>PTI Laser/HP</b></td> + + <td align="left">Personal TeX</td> + + <td align="left">MS-DOS</td> + + <td align="left">HP LaserJet compatible</td> + </tr> + + <tr> + <td align="left"><b>PTI Laser/PS</b></td> + + <td align="left">Personal TeX</td> + + <td align="left">MS-DOS</td> + + <td align="left">PostScript</td> + </tr> + + <tr> + <td align="left"><b>PTI Jet</b></td> + + <td align="left">Personal TeX</td> + + <td align="left">MS-DOS</td> + + <td align="left">HP DeskJet compatible</td> + </tr> + + <tr> + <td align="left"><b>dvipsone</b></td> + + <td align="left">Y&Y</td> + + <td align="left">MS-DOS</td> + + <td align="left">PostScript</td> + </tr> + </tbody> + </table> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2906990" + name="id2906990"></a>emTeX Drivers</h3> + </div> + </div> + + <p>The emTeX<a id="id2906999" class="indexterm" + name="id2906999"></a> distribution includes three DVI + drivers: <b>dvihplj</b><a id="id2907020" + class="indexterm" name="id2907020"></a> for printing on + HP LaserJet, DeskJet, PaintJet, QuietJet printers (as + well as the Kyocera laser printer), <b>dvidot</b><a + id="id2907035" class="indexterm" name="id2907035"></a> + for printing on a wide variety of dot-matrix printers, + and <b>dvipcx</b><a id="id2907050" class="indexterm" + name="id2907050"></a> for translating DVI files into + <tt>PCX</tt> graphics images (for faxing, for example). + The printers that <b>dvidot</b> supports are listed + below. If your dot-matrix printer isn't listed, detailed + instructions in the emTeX documentation will probably + allow you to construct an appropriate parameter file.</p> + + <table class="simplelist" border="0" + summary="Simple list"> + <tr> + <td>Apple Imagewriter</td> + + <td>IBM Proprinter 4202</td> + </tr> + + <tr> + <td>C.ITOH 8510A</td> + + <td>IBM Proprinter 4207</td> + </tr> + + <tr> + <td>Canon Bubble Jet BJ-10e</td> + + <td>IBM Proprinter 4208</td> + </tr> + + <tr> + <td>EPSON FX and RX series</td> + + <td>NEC P6, Panasonic KX-P1124</td> + </tr> + + <tr> + <td>EPSON LQ series</td> + + <td>NEC P7</td> + </tr> + + <tr> + <td>IBM Proprinter 4201</td> + + <td>Tandy DMP-130</td> + </tr> + </table> + + <p>All of the emTeX drivers support several \special + commands for including bitmapped graphics and lines at + any angle.</p> + + <p>The Computer Modern fonts in <tt>PK</tt> format occupy + several directories and considerable space on disk. To + minimize the impact of keeping several magnifications of + fonts around, the emTeX drivers introduced the concept of + <span class="emphasis"><em>font libraries</em></span>. + Font libraries<a id="id2907170" class="indexterm" + name="id2907170"></a> are single files that contain many, + many <tt>PK</tt> fonts<a id="id2907189" class="indexterm" + name="id2907189"></a><a id="id2907208" class="indexterm" + name="id2907208"></a>. The fonts distributed with emTeX + are distributed in font library format. The + <b>fontlib</b> program, distributed with emTeX, allows + you to create and maintain font libraries of your + own.</p> + + <p>The emTeX drivers support automatic font generation + starting with version 1.4S. This is accomplished by a + second program, <b>dvidrv</b><a id="id2907239" + class="indexterm" name="id2907239"></a>, that runs the + DVI driver and then <b>MFjob</b><a id="id2907254" + class="indexterm" name="id2907254"></a>, if required, to + build the fonts. The relationship between these + components is shown in Figure <a + href="ch08.html#fig.emdvi" + title="Figure 8.3. Previewing and printing with emTeX"> + Figure 8.3</a>.</p> + + <div class="figure"> + <a id="fig.emdvi" name="fig.emdvi"></a> + + <p class="title"><b>Figure 8.3. Previewing + and printing with emTeX</b></p> +<pre class="screen"> +FIXME: +</pre> + </div> + + <p>Starting with version 1.4t,<sup>[<a id="id2907302" + name="id2907302" href="#ftn.id2907302">102</a>]</sup> + emTeX's <b>dvihplj</b> supports 600dpi fonts (for the + LaserJet 4 series) and built-in printer fonts.</p> + + <p>The following list of features highlights some of the + capabilities of the emTeX drivers:</p> + + <div class="itemizedlist"> + <ul type="disc"> + <li> + <p>Printing of a range of pages</p> + </li> + + <li> + <p>Printing of multiple copies (with or without + collating)</p> + </li> + + <li> + <p>Reverse ordering of pages</p> + </li> + + <li> + <p>Selection of duplex printing</p> + </li> + + <li> + <p>Ability to scale <tt>PK</tt> files to the + requested size if an appropriate <tt>PK</tt> file + is unavailable. This may result in poorer output + quality due to distortion, but that's not emTeX's + fault.</p> + </li> + + <li> + <p>Extremely flexible support for printing booklets + and “n-up” arrangements of pages</p> + </li> + + <li> + <p>Selection of paper size and dimensions (margins, + etc.)</p> + </li> + + <li> + <p>Transformations (rotation by a multiple of 90 + degrees)</p> + </li> + + <li> + <p>Changes in magnification and resolution of + output</p> + </li> + + <li> + <p>Support for font libraries</p> + </li> + + <li> + <p>Support for font compression in printers with + that feature</p> + </li> + + <li> + <p>Ability to download each page as a large bitmap + (to overcome font limitations in some printers)</p> + </li> + + <li> + <p>Support for automatic font generation</p> + </li> + </ul> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2907474" + name="id2907474"></a>dvilj2</h3> + </div> + </div> + + <p><b>dvilj2</b><a id="id2907487" class="indexterm" + name="id2907487"></a> is a free driver for the HP + LaserJet Series II printer. It is part of the + <b>dvi2xx</b> distribution, which also includes drivers + for the HP LaserJet Series IIP and III printers, as well + as a driver for the IBM 3812 page printer.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2907508" + name="id2907508"></a>dvips</h3> + </div> + </div> + + <p><b>dvips</b><a id="id2907521" class="indexterm" + name="id2907521"></a> is one of the most popular + PostScript <tt>DVI</tt> drivers. It is available for + unix, MS-DOS, and OS/2 platforms. It may also be + available on other platforms because the source code is + freely available. <b>dvips</b> supports a wide range of + \special commands for controlling the PostScript output, + including pictures and figures and raw PostScript + code.</p> + + <p>The following list of features highlights some of + <b>dvips</b>'s capabilities:</p> + + <div class="itemizedlist"> + <ul type="disc"> + <li> + <p>Inclusion of printer-specific prologue files</p> + </li> + + <li> + <p>Support for compressed PostScript pictures and + figures</p> + </li> + + <li> + <p>Automatic creation of pseudo-bold and + pseudo-italic fonts</p> + </li> + + <li> + <p>Ability to run as a filter</p> + </li> + + <li> + <p>Automatic splitting of documents into sections + to prevent out-of-memory errors on the printer</p> + </li> + + <li> + <p>Printing of crop marks</p> + </li> + + <li> + <p>Printing of a range of pages (by physical sheet + or TeX page number)</p> + </li> + + <li> + <p>Selection of manual-feed on the printer</p> + </li> + + <li> + <p>Limit on number of output pages</p> + </li> + + <li> + <p>Reverse order of pages</p> + </li> + + <li> + <p>Selection of paper type</p> + </li> + + <li> + <p>Changes in magnification of the output</p> + </li> + + <li> + <p>Printing of odd/even pages only</p> + </li> + + <li> + <p>Printing of multiple copies (with or without + collating)</p> + </li> + + <li> + <p>Stripping of comments (to avoid printer/spooler + bugs)</p> + </li> + + <li> + <p>Moving of printed image left/right or up/down + page</p> + </li> + + <li> + <p>Compression of fonts before downloading</p> + </li> + </ul> + </div> + + <p>An option to the <b>dvips</b> driver can be used to + indicate which printer the output is destined for. This + allows many printer-specific options (resolution, paper + sizes, etc.) to be specified in a configuration file, + removing from the user the burden of remembering + them.</p> + + <p>Automatic font generation is supported by + <b>dvips</b>, as described above. <b>dvipsk</b><a + id="id2907755" class="indexterm" name="id2907755"></a>, a + modified version of <b>dvips</b>, also supports a + font-searching mechanism that greatly simplifies the task + of specifying which directories contain font files. If + any directory specification in the font path ends with + two slashes, <b>dvips</b> searches that directory and all + of its subdirectories for the font files. This allows you + to create a font directory structure like the one shown + here:</p> +<pre class="screen"> +/usr/local/lib/tex/fonts/<span +class="emphasis"><em>supplier</em></span> +/usr/local/lib/tex/fonts/<span +class="emphasis"><em>supplier</em></span>/<span +class="emphasis"><em>typeface</em></span> +/usr/local/lib/tex/fonts/<span +class="emphasis"><em>supplier</em></span>/<span +class="emphasis"><em>typeface</em></span>/src +/usr/local/lib/tex/fonts/<span +class="emphasis"><em>supplier</em></span>/<span +class="emphasis"><em>typeface</em></span>/tfm +/usr/local/lib/tex/fonts/<span +class="emphasis"><em>supplier</em></span>/<span +class="emphasis"><em>typeface</em></span>/vf +/usr/local/lib/tex/fonts/<span +class="emphasis"><em>supplier</em></span>/<span +class="emphasis"><em>typeface</em></span>/vpl +/usr/local/lib/tex/fonts/<span +class="emphasis"><em>supplier</em></span>/<span +class="emphasis"><em>typeface</em></span>/glyphs +/usr/local/lib/tex/fonts/<span +class="emphasis"><em>supplier</em></span>/<span +class="emphasis"><em>typeface</em></span>/glyphs/pk +</pre> + + <p>This arrangement is advantageous because it organizes + your fonts and simplifies maintenance of the directories + that contain them. If <tt>/usr/local/lib/tex/fonts//</tt> + is in the font search path, <b>dvips</b> will search + through all of the font directories for the files that it + needs. For example, it might find the <tt>TFM</tt> file + for <tt>cmr10</tt> in + <tt>/usr/local/lib/tex/fonts/free/cm/tfm</tt>. The + directory + <tt>/usr/local/lib/tex/fonts/adobe/garamond/glyphs/type1</tt> + is the location for the PostScript source of the + Garamond-Italic font.</p> + + <p>The <b>dvips</b> distribution includes the + <b>afm2tfm</b><a id="id2907929" class="indexterm" + name="id2907929"></a> program for creating TeX font + metrics from Adobe <tt>AFM</tt> files<a id="id2907948" + class="indexterm" name="id2907948"></a>. This version of + <b>afm2tfm</b> can perform several useful tasks such as + automatically creating appropriate virtual fonts (for + mapping TeX font encodings to PostScript encodings) or + changing the encoding of the PostScript font.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="sec.pr.dvilaserhp" + name="sec.pr.dvilaserhp"></a>DVILASER/HP</h3> + </div> + </div> + + <p>ArborText<a id="id2907992" class="indexterm" + name="id2907992"></a>'s \dvilaserhp<a id="id2908001" + class="indexterm" name="id2908001"></a> DVI driver + translates TeX <tt>DVI</tt> files into a format that can + be printed on HP LaserJet printers. These drivers are + available for both MS-DOS and supported unix + workstations. The following discussion is based on + experiences with \dvilaserhp version 5.3.3, the MS-DOS + implementation of ArborText's HP LaserJet driver.</p> + + <p>\dvilaserhp functions in the way you would expect, + generating LaserJet printable documents from TeX + <tt>DVI</tt> files. It also has many special features. + Some of the more interesting features are summarized + below. \dvilaserhp can print documents using <tt>PK</tt> + files, HP LaserJet softfonts, and built-in fonts + (including fonts from cartridges).</p> + + <p>ArborText supplies a complete set of Computer Modern + fonts in <tt>PK</tt> format. Recent releases of + \dvilaserhp can use the virtual fonts introduced in TeX + version 3.0.</p> + + <p>ArborText's \dvilaserhp DVI driver provides the + following features:</p> + + <div class="itemizedlist"> + <ul type="disc"> + <li> + <p>Selectable number of copies</p> + </li> + + <li> + <p>Optional reverse ordering of pages</p> + </li> + + <li> + <p>Selectable manual-feed</p> + </li> + + <li> + <p>Portrait or landscape orientation</p> + </li> + + <li> + <p>Selectable page size</p> + </li> + + <li> + <p>Ability to scale <tt>PK</tt> files to the + requested size if an appropriate <tt>PK</tt> file + is unavailable. This may result in poorer output + quality due to distortion, but that's not + \dvilaserhp's fault.<sup>[<a id="id2908153" + name="id2908153" + href="#ftn.id2908153">103</a>]</sup></p> + </li> + + <li> + <p>Page movement and reordering options (for + printing multiple pages on a single sheet of paper, + for example)</p> + </li> + + <li> + <p>Configurable font substitution</p> + </li> + + <li> + <p>Support for LaserJet “overlays.” + \dvilaserhp recognizes \special commands for + inserting raw HP LaserJet format documents and + inserting HP LaserJet overlays<sup>[<a + id="id2908216" name="id2908216" + href="#ftn.id2908216">104</a>]</sup></p> + </li> + + <li> + <p>An interactive mode (useful for printing only + selected pages from a document without re-running + \dvilaserhp many times or when many options are + going to be used)</p> + </li> + + <li> + <p>Selectable paper tray</p> + </li> + </ul> + </div> + + <p>Many other utilities come with \dvilaserhp; they are + summarized in Table <a + href="ch08.html#tab.dvilaserhp.util" + title="Table 8.2. Other \protect\dvilaserhp Utilities"> + Table 8.2</a>.<a id="id2908263" class="indexterm" + name="id2908263"></a><a id="id2908269" class="indexterm" + name="id2908269"></a><a id="id2908276" class="indexterm" + name="id2908276"></a><a id="id2908283" class="indexterm" + name="id2908283"></a> <a id="id2908292" class="indexterm" + name="id2908292"></a><a id="id2908299" class="indexterm" + name="id2908299"></a><a id="id2908306" class="indexterm" + name="id2908306"></a><a id="id2908313" class="indexterm" + name="id2908313"></a><a id="id2908320" class="indexterm" + name="id2908320"></a> <a id="id2908328" class="indexterm" + name="id2908328"></a><a id="id2908335" class="indexterm" + name="id2908335"></a><a id="id2908342" class="indexterm" + name="id2908342"></a>\index{VPtoVF}{\def\x{${}^1$}</p> + + <div class="table"> + <a id="tab.dvilaserhp.util" + name="tab.dvilaserhp.util"></a> + + <p class="title"><b>Table 8.2. Other + \protect\dvilaserhp Utilities</b></p> + + <table summary="Other \protect\dvilaserhp Utilities" + border="1"> + <colgroup> + <col align="left" /> + <col align="left" /> + </colgroup> + + <thead> + <tr> + <th align="left">\bf Utility</th> + + <th align="left">\bf Description</th> + </tr> + </thead> + + <tbody> + <tr> + <td align="left">\it aftovp</td> + + <td align="left">Converts <tt>VPL</tt> from + <tt>AFM</tt> file</td> + </tr> + + <tr> + <td align="left">\it gftopk\,\x</td> + + <td align="left">Converts <tt>GF</tt> files into + <tt>PK</tt> files</td> + </tr> + + <tr> + <td align="left">\it hpformat</td> + + <td align="left">A print formatter for ASCII + files</td> + </tr> + + <tr> + <td align="left">\it packpxl</td> + + <td align="left">Creates packed (byte-aligned) + <tt>PXL</tt> file</td> + </tr> + + <tr> + <td align="left">\it painthp</td> + + <td align="left">Converts MacPaint files into HP + LaserJet format</td> + </tr> + + <tr> + <td align="left">\it pcltopk\,\x</td> + + <td align="left">Converts HP LaserJet softfonts + into <tt>PK</tt>/<tt>TFM</tt> file</td> + </tr> + + <tr> + <td align="left">\it pktopx\,\x</td> + + <td align="left">Converts <tt>PK</tt> files into + <tt>PXL</tt> files</td> + </tr> + + <tr> + <td align="left">\it pxtopk\,\x</td> + + <td align="left">Converts <tt>PXL</tt> files into + <tt>PK</tt> files</td> + </tr> + + <tr> + <td align="left">\it spr</td> + + <td align="left">A serial-line print spooler</td> + </tr> + + <tr> + <td align="left">\it tftovp</td> + + <td align="left">Converts <tt>VPL</tt> from + <tt>TFM</tt> file</td> + </tr> + + <tr> + <td align="left">\it unpkpxl</td> + + <td align="left">Creates standard, word-aligned + <tt>PXL</tt> file</td> + </tr> + + <tr> + <td align="left">\it vftovp\,\x</td> + + <td align="left">Converts <tt>VF</tt> files into + <tt>VPL</tt> files</td> + </tr> + + <tr> + <td align="left">\it vptovf\,\,\x</td> + + <td align="left">Converts <tt>VPL</tt> files into + <tt>VF</tt> files</td> + </tr> + </tbody> + </table> + </div> + + <p>ArborText recently released <b>DVILASER/HP3 drivers<a + id="id2908752" class="indexterm" + name="id2908752"></a></b> for the HP LaserJet III and IV + printers. In addition to the features described above, + <b>DVILASER/HP3</b> supports more complex documents, + compressed font downloading, 600dpi and duplex printing, + paper tray and output bin selection, and the ability to + include TIFF images via a \special command.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="sec.pr.dvilaserps" + name="sec.pr.dvilaserps"></a>DVILASER/PS</h3> + </div> + </div> + + <p>ArborText<a id="id2908789" class="indexterm" + name="id2908789"></a>'s \dvilaserps<a id="id2908797" + class="indexterm" name="id2908797"></a> DVI driver + translates TeX <tt>DVI</tt> files into PostScript. These + drivers are available for both MS-DOS and supported unix + workstations. The following discussion is based on + experiences with \dvilaserps version 6.3.5, the MS-DOS + implementation of ArborText's PostScript driver.</p> + + <p>PostScript DVI drivers are more flexible than many + other DVI drivers because PostScript is a very powerful + page description language. Some of \dvilaserps's more + interesting features are summarized below. \dvilaserps + can print documents using <tt>PK</tt> files, downloadable + PostScript fonts, and built-in fonts. ArborText supplies + <tt>TFM</tt> files for many built-in PostScript fonts. + Recent releases of \dvilaserps can use the virtual fonts + introduced in TeX version 3.0.</p> + + <p>ArborText's \dvilaserps DVI driver provides the + following features:</p> + + <div class="itemizedlist"> + <ul type="disc"> + <li> + <p>Options for loading custom PostScript prologue + code</p> + </li> + + <li> + <p>Ability to be used as a filter (sends PostScript + code to standard output)</p> + </li> + + <li> + <p>Selectable number of copies</p> + </li> + + <li> + <p>Optional reverse ordering of pages</p> + </li> + + <li> + <p>Portrait or landscape orientation</p> + </li> + + <li> + <p>Selectable page size</p> + </li> + + <li> + <p>Ability to scale <tt>PK</tt> files to the + requested size if an appropriate <tt>PK</tt> file + is unavailable. This may result in poorer output + quality due to distortion, but that's not + \dvilaserps's fault.</p> + </li> + + <li> + <p>Page movement and reordering options (for + printing multiple pages on a single sheet of paper, + for example)</p> + </li> + + <li> + <p>Selectable paper tray</p> + </li> + + <li> + <p>Configurable font substitution</p> + </li> + + <li> + <p>Support for LaserJet “overlays”</p> + </li> + + <li> + <p>An interactive mode (useful for printing only + selected pages from a document without re-running + \dvilaserps many times or when many options are + going to be used)</p> + </li> + + <li> + <p>Ability to download <tt>PK</tt> files + permanently, speeding printing of future + documents</p> + </li> + + <li> + <p>Document, page, or encapsulated PostScript + document structuring options</p> + </li> + + <li> + <p>Optional clipping of characters that fall + outside the normally printable page area</p> + </li> + </ul> + </div> + + <p>Many other utilities come with \dvilaserps. They are + summarized in<a id="id2909044" class="indexterm" + name="id2909044"></a><a id="id2909051" class="indexterm" + name="id2909051"></a><a id="id2909058" class="indexterm" + name="id2909058"></a><a id="id2909065" class="indexterm" + name="id2909065"></a> <a id="id2909073" class="indexterm" + name="id2909073"></a><a id="id2909080" class="indexterm" + name="id2909080"></a><a id="id2909087" class="indexterm" + name="id2909087"></a><a id="id2909094" class="indexterm" + name="id2909094"></a><a id="id2909102" class="indexterm" + name="id2909102"></a> <a id="id2909110" class="indexterm" + name="id2909110"></a><a id="id2909117" class="indexterm" + name="id2909117"></a><a id="id2909124" class="indexterm" + name="id2909124"></a><a id="id2909131" class="indexterm" + name="id2909131"></a> <a id="id2909140" class="indexterm" + name="id2909140"></a><a id="id2909147" class="indexterm" + name="id2909147"></a> Table <a + href="ch08.html#tab.dvilaserps.util" + title="Table 8.3. Other \protect\dvilaserps Utilities"> + Table 8.3</a>.</p> + + <div class="table"> + <a id="tab.dvilaserps.util" + name="tab.dvilaserps.util"></a> + + <p class="title"><b>Table 8.3. Other + \protect\dvilaserps Utilities</b></p> + + <table summary="Other \protect\dvilaserps Utilities" + border="1"> + <colgroup> + <col align="left" /> + <col align="left" /> + </colgroup> + + <thead> + <tr> + <th align="left">\bf Utility</th> + + <th align="left">\bf Description</th> + </tr> + </thead> + + <tbody> + <tr> + <td align="left">\it afmtopl</td> + + <td align="left">Converts <tt>AFM</tt> files into + unmapped <tt>PL</tt> files</td> + </tr> + + <tr> + <td align="left">\it afmtoplm</td> + + <td align="left">Converts <tt>AFM</tt> files into + mapped <tt>PL</tt> files\y</td> + </tr> + + <tr> + <td align="left">\it aftovp</td> + + <td align="left">Converts <tt>VPL</tt> from + <tt>AFM</tt> file</td> + </tr> + + <tr> + <td align="left">\it gftopk\,\x</td> + + <td align="left">Converts <tt>GF</tt> files into + <tt>PK</tt> files</td> + </tr> + + <tr> + <td align="left">\it packpxl</td> + + <td align="left">Creates packed (byte-aligned) + <tt>PXL</tt> file</td> + </tr> + + <tr> + <td align="left">\it pktopx\,\x</td> + + <td align="left">Converts <tt>PK</tt> files into + <tt>PXL</tt> files</td> + </tr> + + <tr> + <td align="left">\it pltotf\,\,\x</td> + + <td align="left">Converts <tt>PL</tt> files into + <tt>TFM</tt> files</td> + </tr> + + <tr> + <td align="left">\it psformat</td> + + <td align="left">A print formatter for ASCII + files</td> + </tr> + + <tr> + <td align="left">\it pxtopk\,\x</td> + + <td align="left">Converts <tt>PXL</tt> files into + <tt>PK</tt> files</td> + </tr> + + <tr> + <td align="left">\it spr</td> + + <td align="left">A serial-line print spooler</td> + </tr> + + <tr> + <td align="left">\it tftopl\,\x</td> + + <td align="left">Converts <tt>TFM</tt> files into + <tt>PL</tt> files</td> + </tr> + + <tr> + <td align="left">\it tftovp</td> + + <td align="left">Converts <tt>VPL</tt> from + <tt>TFM</tt> file</td> + </tr> + + <tr> + <td align="left">\it unpkpxl</td> + + <td align="left">Creates standard, word-aligned + <tt>PXL</tt> file</td> + </tr> + + <tr> + <td align="left">\it vftovp\,\x</td> + + <td align="left">Converts <tt>VF</tt> files into + <tt>VPL</tt> files</td> + </tr> + + <tr> + <td align="left">\it vptovf\,\,\x</td> + + <td align="left">Converts <tt>VPL</tt> files into + <tt>VF</tt> files</td> + </tr> + + <tr> + <td align="left">\multicolumn{2}{l}{ ${}^1$\vrule + height11pt width0pt\tiny A standard, or otherwise + freely available, utility.}</td> + + <td class="auto-generated"> </td> + </tr> + </tbody> + </table> + </div> + + <p>\dvilaserps recognizes \special commands for inserting + raw PostScript files and commands, encapsulated + PostScript files, and automatic page overlays (which can + be selectively enabled and disabled). Other \special + commands allow you to set most of the \dvilaserps + command-line options directly in the document, rotate any + TeX “box” to any angle, and print change + bars. For LaTeX users, ArborText includes a plug-in + replacement for LaTeX's picture environments that uses + PostScript instead of special fonts to draw each + figure.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2909658" + name="id2909658"></a>PTI Laser/HP and PTI Jet</h3> + </div> + </div> + + <p><b>PTI Laser/HP</b><a id="id2909683" class="indexterm" + name="id2909683"></a> and <b>PTI Jet</b><a id="id2909696" + class="indexterm" name="id2909696"></a> are distributed + together by Personal TeX, Inc.<a id="id2909706" + class="indexterm" name="id2909706"></a> <b>PTI + Laser/HP</b> is an HP LaserJet driver. <b>PTI Jet</b> is + a DeskJet driver. The <b>PTI Jet</b> driver works with a + standard DeskJet printer; no additional options or memory + are required. The <b>PTI Laser/HP</b> driver is for HP + LaserJet II and III series printers. A separate program, + <b>PTI Laser/HP4</b>, is sold for LaserJet 4 series + printers (to support 600dpi fonts, for example).</p> + + <p>The following features are available in these + drivers:</p> + + <div class="itemizedlist"> + <ul type="disc"> + <li> + <p>Support for font substitution</p> + </li> + + <li> + <p>Support for built-in fonts</p> + </li> + + <li> + <p>Printing multiple copies of each page</p> + </li> + + <li> + <p>Setting page size</p> + </li> + + <li> + <p>Printing in landscape mode</p> + </li> + + <li> + <p>Selecting magnification</p> + </li> + + <li> + <p>Ability to print a range of pages (by physical + sheet or TeX page number)</p> + </li> + + <li> + <p>Reversing order of pages</p> + </li> + + <li> + <p>Ability to move the page image left/right or + up/down the page</p> + </li> + + <li> + <p>Support for 256 character fonts</p> + </li> + </ul> + </div> + + <p><b>PTI Laser/HP</b> offers the following additional + features, which are not supported by <b>PTI Jet</b>:</p> + + <div class="itemizedlist"> + <ul type="disc"> + <li> + <p>Ability to reserve printer font ID numbers</p> + </li> + + <li> + <p>A utility program, <b>sftopk</b>, for converting + HP LaserJet softfonts into TeX <tt>PK</tt> + fonts</p> + </li> + + <li> + <p>Support for directly including HP LaserJet + printer commands via the \special mechanism in + TeX</p> + </li> + </ul> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2909924" + name="id2909924"></a>PTI Laser/PS</h3> + </div> + </div> + + <p><b>PTI Laser/PS</b><a id="id2909938" class="indexterm" + name="id2909938"></a> is Personal TeX's PostScript DVI + driver. In addition to the DVI driver, the <b>PTI + Laser/PS</b> package includes utilities for spooling + output to a serially-connected printer and converting + <tt>AFM</tt> files into <tt>TFM</tt> files.</p> + + <p>Some of <b>PTI Laser/PS</b>'s more interesting options + are summarized below.</p> + + <div class="itemizedlist"> + <ul type="disc"> + <li> + <p>Ability to select different printer + resolutions</p> + </li> + + <li> + <p>Selectable number of copies</p> + </li> + + <li> + <p>Configurable font substitution</p> + </li> + + <li> + <p>Selectable page size</p> + </li> + + <li> + <p>An interactive mode for selecting options and + reacting to errors (characters that fall off the + page, missing fonts, etc.)</p> + </li> + + <li> + <p>Portrait or landscape orientation</p> + </li> + + <li> + <p>Selectable TeX magnification</p> + </li> + + <li> + <p>Option files for storing frequently used + options.</p> + </li> + + <li> + <p>Selectable output filename</p> + </li> + + <li> + <p>Options to select individual pages or ranges of + pages by TeX page number or physical sheet + number</p> + </li> + + <li> + <p>Optional reverse ordering of pages</p> + </li> + + <li> + <p>Adjustable page offset (adjusts the position of + the printed page on the physical page)</p> + </li> + + <li> + <p>Support for 256-character fonts</p> + </li> + + <li> + <p>Special support for the eccentricities of the + Apple LaserWriter printer</p> + </li> + </ul> + </div> + + <p><b>PTI Laser/PS</b> recognizes a \special command for + inserting raw PostScript files into the printed document. + The horizontal and vertical size of the inserted image + can be changed.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2910137" + name="id2910137"></a>dvipsone</h3> + </div> + </div> + + <p><b>dvipsone</b><a id="id2910149" class="indexterm" + name="id2910149"></a> is a commercial PostScript driver + for MS-DOS distributed by Y&Y Inc.<a id="id2910159" + class="indexterm" name="id2910159"></a> It produces + PostScript output from a TeX <tt>DVI</tt> file. + <b>dvipsone</b> is designed for a + “bitmap-free” environment. This makes + <b>dvipsone</b> almost unique among <tt>DVI</tt> drivers + because it <span class="emphasis"><em>cannot</em></span> + use standard <tt>PK</tt> fonts. To use <b>dvipsone</b>, + you must have PostScript fonts for every font that you + use (or the font must be built into the printer).<sup>[<a + id="id2910231" name="id2910231" + href="#ftn.id2910231">105</a>]</sup> Y&Y sells a + complete set of Computer Modern fonts in Adobe + Type 1 format.</p> + + <p><b>dvipsone</b> has a rich set of features:</p> + + <div class="itemizedlist"> + <ul type="disc"> + <li> + <p>Printing multiple <tt>DVI</tt> files with a + single command</p> + </li> + + <li> + <p>Printing pages in reverse order</p> + </li> + + <li> + <p>Printing only odd or even pages</p> + </li> + + <li> + <p>Ability to force output to conform to EPS + standards</p> + </li> + + <li> + <p>Assumption that all requested fonts are + printer-resident</p> + </li> + + <li> + <p>Insertion of verbatim PostScript</p> + </li> + + <li> + <p>Printing a range of pages</p> + </li> + + <li> + <p>Resizing of the output</p> + </li> + + <li> + <p>Rotation of output by arbitrary angle</p> + </li> + + <li> + <p>Shifting output left/right or up/down</p> + </li> + + <li> + <p>Printing arbitrary number of copies</p> + </li> + + <li> + <p>Selection of paper type (letter, landscape, + legal, etc.)</p> + </li> + + <li> + <p>Insertion of user-specified PostScript + prologue</p> + </li> + + <li> + <p>Conservation of memory by downloading partial + fonts</p> + </li> + + <li> + <p>Remapping of the font encoding on-the-fly</p> + </li> + + <li> + <p>Support for ten different styles of \special + commands for including encapsulated PostScript + images</p> + </li> + </ul> + </div> + + <p>Perhaps the most interesting feature of the + <b>dvipsone</b> driver is its ability to download partial + PostScript fonts. Y&Y claim that partial font + downloading is a feature unique to <b>dvipsone</b>. A + moderately complex TeX document may use twenty or more + fonts and each font is typically between 20K and 30K. + This means that the DVI driver downloads roughly 500K of + font data for the document. In addition to requiring + considerable printer memory, all that font data increases + the amount of time that it takes to send your document to + the printer. The partial font downloading feature of + <b>dvipsone</b> means that only the characters that are + actually used in your document are sent to the printer. + The ability to download partial fonts can result in a + substantially smaller PostScript file.</p> + + <p>Several other utilities are distributed with + <b>dvipsone</b>. They are summarized in <a id="id2910495" + class="indexterm" name="id2910495"></a><a id="id2910502" + class="indexterm" name="id2910502"></a><a id="id2910510" + class="indexterm" name="id2910510"></a><a id="id2910517" + class="indexterm" name="id2910517"></a> <a id="id2910525" + class="indexterm" name="id2910525"></a><a id="id2910532" + class="indexterm" name="id2910532"></a><a id="id2910539" + class="indexterm" name="id2910539"></a> Table <a + href="ch08.html#tab.dvipsone.util" + title="Table 8.4. Other dvipsone Utilities">Table 8.4</a>.</p> + + <div class="table"> + <a id="tab.dvipsone.util" name="tab.dvipsone.util"></a> + + <p class="title"><b>Table 8.4. Other dvipsone + Utilities</b></p> + + <table summary="Other dvipsone Utilities" border="1"> + <colgroup> + <col align="left" /> + <col align="left" /> + </colgroup> + + <thead> + <tr> + <th align="left"><span>\bf Utility</span></th> + + <th align="left">\bf Description</th> + </tr> + </thead> + + <tbody> + <tr> + <td align="left"><tt>download</tt></td> + + <td align="left">Robust font-downloading program + for PostScript fonts</td> + </tr> + + <tr> + <td align="left"><tt>afmtotfm</tt>\,\x</td> + + <td align="left">Converts <tt>AFM</tt> files into + <tt>TFM</tt> files</td> + </tr> + + <tr> + <td align="left"><tt>tfmtoafm</tt></td> + + <td align="left">Converts <tt>TFM</tt> files into + <tt>AFM</tt> files</td> + </tr> + + <tr> + <td align="left"><tt>pfatopfb</tt>\,\x</td> + + <td align="left">Convert <tt>PFA</tt> files into + <tt>PFB</tt> files</td> + </tr> + + <tr> + <td align="left"><tt>pfbtopfa</tt>\,\x</td> + + <td align="left">Convert <tt>PFB</tt> files into + <tt>PFA</tt> files</td> + </tr> + + <tr> + <td align="left"><tt>twoup</tt></td> + + <td align="left">Reorders pages in a PostScript + file</td> + </tr> + + <tr> + <td align="left"><tt>pktops</tt></td> + + <td align="left">Provides access to <tt>PK</tt> + fonts for <b>dvipsone</b></td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + + <div class="footnotes"> + <br /> + <hr width="100" align="left" /> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2905446" name="ftn.id2905446" + href="#id2905446">99</a>]</sup> {For a complete, detailed + description of the <tt>PK</tt> and <tt>GF</tt> formats, + consult <span class="emphasis"><em>The GF to PK + Processor</em></span> [<a + href="bi01.html#mfware:gftopk">mfware:gftopk</a>].}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2905773" name="ftn.id2905773" + href="#id2905773">100</a>]</sup> {A backslash is used + here to escape the end of the first line. This is a + standard way to continue a line in most unix shells. + Naturally, you can simply enter it as one line in your + editor, if you prefer.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2906483" name="ftn.id2906483" + href="#id2906483">101</a>]</sup> {Because figures are + frequently much larger than individual characters, + MetaFont may have difficulty with large figures at very + high resolutions.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2907302" name="ftn.id2907302" + href="#id2907302">102</a>]</sup> {In alpha-testing at the + time of this writing.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2908153" name="ftn.id2908153" + href="#id2908153">103</a>]</sup> {The scaling uses the + next larger-sized <tt>PK</tt> file, and ArborText claims + that this results in good quality over a large range of + point sizes without providing <tt>PK</tt> files for every + exact size.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2908216" name="ftn.id2908216" + href="#id2908216">104</a>]</sup> {Consult your HP + LaserJet reference manual for more information about + overlays.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2910231" name="ftn.id2910231" + href="#id2910231">105</a>]</sup> {The <b>dvipsone</b> + distribution includes a utility which can convert + <tt>PK</tt> fonts into bitmapped PostScript fonts. This + program translates a <tt>PK</tt> file into an Adobe + Type 3 font. Once in Type 3 format, + <b>dvipsone</b> can use the font. Using Type 3 fonts + created in this way adds resolution-dependence to your + PostScript file.}</p> + </div> + </div> + </div> + + <div class="navfooter"> + <table width="100%" summary="Navigation table"> + <tr> + <td width="40%" align="left"><a + title="Chapter 7. International Considerations" + href="ch07.html"><img src="figures/nav-prev.png" + alt="Prev" border="0" /></a> </td> + + <td width="20%" align="center"><a title="Making TeX Work" + href="index.html"><img src="figures/nav-home.png" + alt="Home" border="0" /></a></td> + + <td width="40%" align="right"> <a + title="Chapter 9. Previewing" + href="ch09.html"><img src="figures/nav-next.png" + alt="Next" border="0" /></a></td> + </tr> + + <tr> + <td width="40%" align="left"> + Chapter 7. International + Considerations </td> + + <td width="20%" align="center"><a + title="Part II. Elements of a Complex Document" + href="pt02.html"><img src="figures/nav-up.png" alt="Up" + border="0" /></a></td> + + <td width="40%" align="right"> +  Chapter 9. Previewing</td> + </tr> + </table> + </div> + </body> +</html> + |