Ouderwets ;-) Printen van .tex-, .dvi-, .pdf-, .ps- en .txt-files

Wil je je eigen C++-programma mooi printen? Of een van de vele files die je hier of daar tegenkomt? Deze pagina legt uit hoe dat eenvoudig kan.

Voor vele colleges is via dit medium oefenstof beschikbaar, gedeeltelijk als .tex-, .dvi-, .pdf- of .ps-file, en soms als gewone .txt-file (bijvoorbeeld een .cc-file). De .dvi-files worden uit .tex-files (gewoon ASCII) gegenereerd door het beroemde programma (La)TeX, en kunnen bekeken worden met xdvi. Om .ps-files (PostScript-files) te bekijken kan gv (vroeger ghostview) gebruikt worden. (Overigens, als de file gezipt is, bijvoorbeeld met gzip, te zien aan extensie .gz, ontzipt gv automatisch. Dus gv file.ps.gz gaat in één keer goed.) En Acrobat Reader (acroread) en evince bekijken en printen .pdf-files; gv kan dat overigens ook.
Wil je onder Windows PostScriptfiles printen/bekijken? Haal dan gratis Ghostscript/Ghostview/GSview op.

Printen gaat (op de computers bij Informatica in Leiden) als volgt:

  1. Zorg voor enig printquotum op de laserprinters. Alle studenten krijgen een redelijk (maar, zoals wiskundigen zeggen, eindig) aantal printjes op hun quotum.
  2. Zet de file op je eigen account.
  3. Vanuit firefox (analoog met andere browsers)
    Haal de file binnen vanuit firefox: rechtermuisknop op link naar te printen pagina, en "save link as..". Je haalt dan de file binnen zonder de viewer op te starten. (Klik je gewoon met de linkermuisknop, dan wordt doorgaans automatisch de juiste viewer opgestart, en daar kun je ook gewoon printen. Selecteer wel de dichtstbijzijnde printer.) Bij sommige files wordt bij selecteren automatisch een "save-scherm" te voorschijn getoverd. Je kunt een print van een gewone pagina ook als PostScript file maken, en die (bijvoorbeeld verkleind) op allerlei manieren printen.
  4. .tex
    Omzetten naar .dvi-file met behulp van het commando latex naam.tex, of in sommige zeldzame gevallen met tex naam.tex. Als het al een .dvi- of .ps-file was, is deze stap uiteraard overbodig! Wil je liever .pdf-uitvoer: geef dan pdflatex naam.tex (de volgende stap is dan overbodig). Soms werkt latex niet, en pdflatex wel: dat heeft dan met plaatjes te maken — en die moeten trouwens ook beschikbaar zijn in de juiste directories.
  5. .dvi
    Maak er een PostScript-file van: dvips naam.dvi. De nieuwe .ps-file wordt dan naam.ps. (Soms expliciet dvips -o naam.ps naam.dvi; met dvips -p 8 -l 17 naam.dvi worden de pagina's 8 tot en met 17 verwerkt.) Als het al een .ps-file was, is deze stap uiteraard overbodig!
  6. .ps
    Stuur de file naam.ps naar de printer (in dit geval "de" P-260100-302 bij zaal 302/304) met lpr -PP-260100-302 naam.ps of lpr naam.ps (dan gaat het naar de default printer; gebruik — als dat werkt, tenminste — lpc status of lpstat op te kijken hoe de printers heten, en echo $PRINTER om te zien wat je default printer is). Je kunt ook twee pagina's op één vel papier zetten: psnup -2 naam.ps | lpr -PP-260100-302. En wil je het ook nog dubbelzijdig: psnup -2 naam.ps | psset -d | lpr -Php-304-bw.
    De Wiskunde-printer in zaal 307 heet P-260100-307, dus in 307 en 309 printen met lpr -PP-260100-307 naam.ps.
  7. .txt
    Files met extensie .txt zijn meestal "tekst-files", en bestaan uit gewoon printbare ASCII-symbolen. Ze kunnen in dat geval rechtstreeks op iedere printer geprint worden. Stuur de file naam.txt naar de (default) printer met lpr naam.txt, en hij wordt meteen geprint (of bijvoorbeeld lpr -Php-304-bw naam.txt).
    Je kunt ook twee pagina's op één vel papier zetten: a2ps naam.txt | lpr -Php-304-bw. (Soms is het lpr-gedeelte hier niet nodig.)
  8. C++-programma's (.cc-files)
    Een C++-programma, doorgaans herkenbaar aan de extensie .cc of .cpp, wordt met a2ps zelfs mooi geprint. En met de optie -C krijg je er regelnummers bij. En overigens krijg je tevens te horen of er regels ge-"wrapped" moesten worden — even wat kortere regels maken dus, in dat geval.
    Een andere mogelijkheid is zelf LaTeX-code te fabriceren van je C++-code. Bekijk als voorbeeld maar eens de file mooi.tex die het C++-programma iets.cc mooi print, zie het resultaat.
  9. WWW-pagina's
    Overigens kunnen ook WWW-pagina's mooi geprint worden. Druk op de knop Print, print naar een file, kies een filenaam, en zo wordt een PostScript-file iets.ps aangemaakt. Deze kan dan weer als boven geprint worden op een laserprinter.
Vanaf het Windows-netwerk moet voor het printen "even" de juiste printer ingesteld worden, en wordt hopelijk weer de standaard laserprinter in de gang bij zaal 302/304 benut.
Gooi na afloop alle aangemaakte files maar weer weg, want ze nemen nogal wat diskruimte in beslag.
Print alsjeblieft geen executables, .tex- of .dvi-files, dat geeft rommel!
Hoe de printers in het gebouw heten? Geef onder Linux: lpc status of lpstat -a.
Eventueel kan acroread of okular .pdf-files als PostScript-file afdrukken.
En als laatste: gebruik een printer niet als kopieerapparaat!

Nog een paar andere zaken: hoe zip en stuur je groepen files per email? Gebruik tar cvfz naam.tgz *cc plus.txt om een gezipt "archief" name.tgz te maken dat alle files bevat waarvan de naam eindigt op cc en tevens de file plus.txt, dit allemaal uit de huidige directory. Het archief kan weer worden uitgepakt via tar xvfz naam.tgz. Er zijn overigens allerlei zip-programma's beschikbaar, zoals WinZip onder Windows; dit kun je overigens met het duo gzip/gunzip op UNIX-machines behandelen. Op UNIX-machines heb je bijvoorbeeld ook nog bzip2, en unzip, en ...