Integrating Ghostscript into your system is not that difficult. For example, if you routinely write documents in Emacs' LaTeX mode, the following bash script takes the DVI output of Emacs' tex-buffer command, converts it to PostScript, and then post-processes the output through Ghostscript. Finally, it sends the output to the print spooler. This script, gsprint (see Listing 1), can be called by Emacs' tex-print command directly. Note that the commands which call Ghostscript and then spool the output to the lpr daemon should all be typed on one line.
An even shorter version of this script, gspreview (see Listing 2), previews the document and can be called by Emacs' tex-view command under X11. Emacs provides the name of the TeX DVI file as the argument to its tex-print and tex-view commands. All you need to do is specify the names of the external commands. First, make sure that the scripts are located in a directory in the search path (I use /usr/local/bin for my shell scripts). Give them execute permission with the command:
chmod a+x gsprint gspreview
Then add the elisp code shown in Listing 3 to your .emacs file. Whenever you use the tex-print or tex-view commands (ctrl-c ctrl-p and ctrl-c ctrl-v, respectively) in TeX-mode or LaTeX-mode, these shell scripts are called and their commands executed, using the DVI output of the most recent TeX command.
The next bash script, which I named pvga (see Listing 4), uses Ghostscript to preview output on non-X VGA displays. It takes as its argument the name of the TeX DVI output file and two optional arguments: a list of pages to be output and the Y-origin offset for each page. This script can be run from the command line or used as the core routine of a more complex VGA previewer. The list of pages that you want to view, formatted according to the dvips documentation, must be specified before the Y offset.
You can easily replace TeX's Computer Modern fonts with Ghostscript's scalable fonts. By default, dvips calls the MakeTeXPK program, which in turn calls MetaFont, to generate the physical Computer Modern fonts not present on the hard disk.
Printing is faster with bitmap fonts rather than scalable fonts, but scalable fonts that use Adobe's standard encodings provide the complete Adobe character set, including kerning and ligature pairs, which the Computer Modern fonts do not provide. With reasonably fast hardware, you can turn off dvips' font-generation feature and hardly notice a difference in speed. Dvips provides the -V command line switch for this purpose. The bash script vgspreview (see Listing 5) is a modification of gspreview, above. Remember to specify zero after the -V switch, which turns the font generation facility off.
There are many other tasks that Ghostscript can perform with ease:
Create PDF files that can be read by Adobe's Acrobat reader.
Generate a number of different graphics formats.
Work with other companies' GUI displays, notably Windows and Macintosh.
Since Ghostscript interprets the PostScript language, you can program directly in PostScript, either via Ghostscript's command interpreter or with \special commands embedded in your TeX and LaTeX files. This article has only scratched the surface of the capabilities of this free program and the many ways in which Ghostscript can perform feats of industry-standard imaging right on your desktop.
|September 2015 Issue of Linux Journal: HOW-TOs||Sep 01, 2015|
|September 2015 Video Preview||Sep 01, 2015|
|Using tshark to Watch and Inspect Network Traffic||Aug 31, 2015|
|Where's That Pesky Hidden Word?||Aug 28, 2015|
|A Project to Guarantee Better Security for Open-Source Projects||Aug 27, 2015|
|Concerning Containers' Connections: on Docker Networking||Aug 26, 2015|
- Using tshark to Watch and Inspect Network Traffic
- September 2015 Issue of Linux Journal: HOW-TOs
- Problems with Ubuntu's Software Center and How Canonical Plans to Fix Them
- Concerning Containers' Connections: on Docker Networking
- Firefox Security Exploit Targets Linux Users and Web Developers
- A Project to Guarantee Better Security for Open-Source Projects
- Where's That Pesky Hidden Word?
- Build a “Virtual SuperComputer” with Process Virtualization
- My Network Go-Bag
- Doing Astronomy with Python