Robitex's Blog

Ideas in the web

Da LaTeX a PDF passando per postscript


I passaggi tradizionali per ottenere il file PDF a partire dal sorgente LaTeX consistono nella compilazione con latex, la conversione del file dvi risultante al formato postscript e finalmente la seconda conversione al pdf.
La sequenza dei comandi da impartire da finestra di comando è :

  1. latex nomefile.tex
  2. dvips nomefile.dvi
  3. ps2pdf nomefile.ps

Di solito si ottiene direttamente il pdf dal sorgente LaTeX per mezzo di pdflatex, ma a volte è necessario passare per il driver dvips per esempio se il nostro documento contiene disegni di pstricks.

Sotto Windows la procedura si può abbreviare utilizzando un file batch ovvero un file contenente istruzioni nel formato DOS con estensione .bat. Alla fine vedremo questo file batch come se fosse un comando da utilizzare così:

>lapdf nomefile

il nome del comando è una specie di contrazione della sequenza dei comandi che cominciano con latex e finiscono con il pdf, mentre l’argomento deve essere il nome del sorgente latex senza estensione.

Adesso manca solamente il contenuto del file .bat (supponiamo che sia necessario una sola compilazione LaTeX). Ecco il mini listato:

@echo off
rem compila un sorgente LaTeX
rem e compie le conversioni a pdf

set filename=%~n1

latex "%filename%.tex"
dvips "%filename%.dvi"
ps2pdf "%filename%.ps"

Per il momento il file batch si deve trovare nella stessa posizione del file sorgente, ma non è detto che lo script non possa essere reso più intelligente.

Per provare lo script copiate in un file .tex questo codice preso dalla galleria di esempi del sito di pstricks ospitato dal TUG (Tex User Group), e date il nome del file senza estensioni in pasto al nostro lapdf.

\documentclass{article}% voss 2007-02-27

\usepackage{pst-node,multido}
\SpecialCoor

\def\colA#1{\ifcase#1red\or magenta\or yellow\or cyan\or green\or blue\or gray\fi}
\def\colB#1{\ifcase#1blue\or gray\or red\or magenta\or yellow\or cyan\or green\fi}
\pagestyle{empty}

\begin{document}

\begin{pspicture}(-3,-3)(3,3)
\multido{\rA=90.0+51.429,\nA=0+1}{7}{%
\Cnode*[linecolor=\colA{\nA}](2.5;\rA){\nA2}
\Cnode*[linecolor=\colB{\nA}](1.25;\rA){\nA1}
\ncline{\nA2}{\nA1}}
\multido{\nA=0+1,\nAA=1+1,\nB=3+1,\nC=4+1}{7}{%
\ncline{\nA2}{\nAA2}\ncline{\nA1}{\nB1}\ncline{\nA1}{\nC1}}
\ncline{62}{02}
\end{pspicture}

\end{document}

Ciao.

8 risposte a “Da LaTeX a PDF passando per postscript

  1. Pingback:Uno script bash per PSTricks « Robitex’s Blog

  2. Pingback:Retta di Eulero: PSTricks vs PGF « Robitex’s Blog

  3. ansys 22/12/2009 alle 22:28

    Ciao Robitex complimenti per il tuo blog.
    Due domande:
    1. Il file .tex e il file lapdf.bat devono stare sempre nella stessa cartella? In caso negativo dove è conveniente sistemare il file lapdf.bat?
    2. Avevo provato a mettere il file lapdf.bat nella cartella “SendTo” e provare a dusarlo facendo “invia a ” con il tasto destro, ma non funziona.Hai qualche soluzione?

    Una domanda off-topic:sul Guit ho visto che hai già proposto script msdos.Mi consiglieresti un aguida di base di MsDos ? Li trovo molto utili questi script per automatizzare i processi.

    grazie, ansys

    • robitex 23/12/2009 alle 10:16

      Ah ah ah,
      tutte buone domande. In effetti lo script dovrebbe essere posizionato in una directory il cui percorso sia compreso nella variabile PATH di Windows così da poterlo lanciare da qualsiasi posizione.

      Per quanto riguarda una guida per il “batching” sotto DOS non ti rimane che cercarla in rete assemblando le informazioni che ti necessitano.
      Potrebbe essere anche il caso di fare scripting con un linguaggio ideato allo scopo e molto più moderno come lo stesso VBScript di Microsoft oppure come il Perl.
      Se è necessario investire del tempo forse è meglio farlo per imparare strumenti più recenti e potenti del linguaggio batch DOS.
      Ricordati che il blog è aperto ad ogni contributo…

      • ansys 23/12/2009 alle 12:01

        Grazie per le risposte.Intanto ho sistemato il file in una cartella specifica ed ho copiato il percorso nella variabile PATH, ho provato e funziona.Lo script lo trovo molto utile, perchè mi capita di annotare delle immagini con psfrag, e l’iter da seguire è proprio quello di quel file.bat.
        Mediterò sulla tua risposta in merito a VBScript. Colgo allora l’occasione per farti altre domande:
        1. Consiglieresti in particolare qualche guida di VB o mi basta “googolare” un pò?
        2. Il VB da dove lo reperisco ? [scusa l’ignoranza😦 ]

  4. ansys 23/12/2009 alle 12:02

    PS.:Grazie per le informazioni e scusa il disturbo🙂

    • robitex 23/12/2009 alle 12:49

      VBScript dovrebbe essere già installato su macchine Win XP. Il punto di partenza e la guida in formato chm. Diversamente trovi tutto sul sito di Microsoft.
      Per Vista o 7 non so quale sia il motore di scripting del sistema operativo (forse VBScript è stato sostituito).
      Bye

  5. ansys 23/12/2009 alle 13:41

    Grazie mille.
    Buon Natale🙂.

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger cliccano Mi Piace per questo: