qual é a forma correta para “tex file.tex | dvips | ps2pdf ”?

0

Eu gostaria de simplificar 3 comandos em um, mas continuo recebendo mensagens de erro.

tex | dvips | ps2pdf file.tex

ou possivelmente

tex file.tex | dvips | ps2pdf

Então divps diz que não há arquivo. Ou eu poderia tentar

tex file.tex > dvips > ps2pdf

Em seguida, obtenho file.dvi , mas não é processado por dvips . É perigoso adivinhar isso e eu claramente não entendo os operadores > e | .

Qual é a maneira correta de executar todos os 3 comandos? O fato de que isso é TeX dificilmente importa.

    
por john mangual 05.02.2016 / 22:48

1 resposta

2

O nome do arquivo de saída é sempre o nome original com a extensão alterada (a menos que você especifique algo diferente com opções de comando) para que você possa fazer isso em vez de canalizar.

tex file.tex; dvips file.dvi; ps2pdf file.ps

Isso executa os comandos um após o outro. Eu não acho que o comando tex tenha qualquer forma de produzir o resultado de seu processamento para stdout , então você não pode fazer o piping com ele.

EDITAR:

De acordo com a sugestão de Jeff, essa é uma maneira melhor, pois os comandos restantes são executados apenas se o comando anterior retornar um status de saída bem-sucedido, ou seja, status 0.

tex file.tex && dvips file.dvi && ps2pdf file.ps
    
por 06.02.2016 / 00:26

Tags