3つのコマンドを1つに減らしたいのですが、エラーメッセージが表示され続けます。
tex | dvips | ps2pdf file.tex
または多分
tex file.tex | dvips | ps2pdf
それからdivps
ファイルがないと思います。それとも試してみることができます。
tex file.tex > dvips > ps2pdf
それからそれを得ましたfile.dvi
が、処理されませんでしたdvips
。この方法を推測するのは危険で、明らかに>
and|
演算子を理解していません。
3つのコマンドをすべて実行する正しい方法は何ですか?これがTeXであるという事実は重要ではありません。
答え1
出力ファイルの名前は常に元の名前ですが、拡張子は変更されるため(コマンドスイッチで別のものを指定しない限り)、パイプの代わりにこれを実行できます。
tex file.tex; dvips file.dvi; ps2pdf file.ps
これにより、コマンドが順番に実行されます。 texコマンドには処理結果を出力する方法がないので、stdout
パイピングには使えないと思います。
編集する:
Jeffの提案によると、前のコマンドが正常な終了状態(状態0など)を返した場合にのみ残りのコマンドが実行されるため、これはより良いアプローチです。
tex file.tex && dvips file.dvi && ps2pdf file.ps