\chapter{\TeX} % 第十章 [転載禁止]©2ch.net

レス数が1000を超えています。これ以上書き込みはできません。
2014/12/17(水) 01:50:13.42
過去スレッド
第一章 http://pc.2ch.net/test/read.cgi/unix/977144071/
_      http://pc.2ch.net/unix/kako/977/977144071.html
第二章 http://pc.2ch.net/test/read.cgi/unix/1033564798/ (984レス)
第三章 http://pc8.2ch.net/test/read.cgi/unix/1059616013/ (996レス)
第四章 http://pc8.2ch.net/test/read.cgi/unix/1116389650/
第五章 http://pc11.2ch.net/test/read.cgi/unix/1153569474/
第六章 http://pc12.2ch.net/test/read.cgi/unix/1193135030/
第七章 http://hibari.2ch.net/test/read.cgi/unix/1268927301/
第八章 http://toro.2ch.net/test/read.cgi/unix/1323615979/ (983レス)
第九章 http://toro.2ch.net/test/read.cgi/unix/1373507129/ (17レス)
_      http://peace.2ch.net/test/read.cgi/unix/1380736314/ (981レス)
2018/03/21(水) 12:49:53.00
latexmkならlatexmk -pvc directorynamae.tex
でタイプセットすればあとはそのdirectoryname.texをエディターで開いて、
かってに修正して保存するたびに、pdf(Skim使ってる)の画面が新しく
なってどう修正されたかわかるんですか、そういう便利なことを
Makefileを使ってもできますか?
それから
なにとぞ、なにかのページのURLかやりかたを、書いていただけないでしょうか?
2018/03/21(水) 16:53:08.35
>>985
>>984 じゃないけど、
latexmk は便利で、make は自由だから、自由さが欲しければ、make を選んでも不思議ではない。
たとえば、発表用スライド、著作権を加味したインターネット公開用スライド、
配布用articleと3種類のコンパイルを使い分けたい場合、
make pres
make publ
make hand
と自由に分けて、同じソースから異なるものがコンパイルできたら便利じゃないか。
makefileには、sedやawkはもちろん、latexmkすら書くことができるから、
自由に何でもできる。

なお、Makefileの中に、
latexmk -pvc directorynamae.tex
と書けば、ご要望のことはできるよ。
987984
垢版 |
2018/03/21(水) 20:02:21.58
>>986
984だが、
同じソースから異なるものをコンパイルするってどうやるんだ?
異なるコンパイルをしようと思ったらファイルに直接その旨を指定しないと
いけないと思うんだが。
それとも何かトリックがあるのかな。
2018/03/21(水) 20:10:17.89
documentclass 書き換えた中間ファイル作れば?
2018/03/21(水) 20:16:43.25
昔から思ってることだけどtexが標準入出力できたら便利
2018/03/21(水) 20:17:41.54
cat hoge.tex | latex - -o - > hage.dvi
991986
垢版 |
2018/03/21(水) 20:53:09.60
>>987
> 異なるコンパイルをしようと思ったらファイルに直接その旨を指定しないと
Makefileの中で、platexの前に、sedでソースを書き換えてる行を1行入れれば良いだけ。
例えば、
\documentsclass{beamer}

\documentclass[handout]{beamer}
に書き換えるとかなら、
hoge: $(src)
sed -e ’s/\documentsclass{beamer}/\documentclass[handout]{beamer}/‘ $(src) > $(hoge_src)
platex $(hoge_src)
dvipdfmx -V 4 $(basename $(hoge_src))
-rm $(hoge_src)
で、
make hoge
とする。
2018/03/21(水) 20:53:53.54
$ cat ./file.ltx | lualatex --jobname=file
↑こんなことして意味あんのか知らんが。
結局「file」という名前を指定する必要があるし、出力はファイル。
2018/03/21(水) 21:11:10.55
991でsed通す所中間ファイル作らずにすむとか

cat head. list1.tex foot.tex | latex > list1.dvi
cat head. list2.tex foot.tex | latex > list2.dvi

とか
2018/03/21(水) 21:13:53.34
>>992
それだとそうだけど、
fileをテンポラリファイルにして、
全体として標準入出力するラッパーを書けば良いのでは。
T=$(mktemp)
cat > $T
lualatex --jobname=$T
cat $T.pdf
rm $T $T.aux $T.toc $T.log $T.pdf
こんな感じに
2018/03/21(水) 21:17:16.50
昔texが直接pdfを吐けなかった頃、
latex | dvipdfm
みたいにパイプで繋げたら便利かなって思ってた
2018/03/21(水) 21:20:05.13
パイプラインで中間ファイルが必要だなんて、DOSのなんちゃってパイプラインみたいでダサい
2018/03/21(水) 21:23:12.39
unix流だとパイプラインの一部として使えるように実装しそうなのに、なんでそうしなかったのか不思議です
998987
垢版 |
2018/03/21(水) 21:30:59.11
>>991
>>992
これ見て思い付いたが
FNAME=hoge
SRC=$(FNAME).tex
とでもしておいて
other: $(SRC)
  cat $(SRC) | sed -e 's/AAA/BBB/g' | platex --jobname=$(FNAME)
とやると一次ファイルを作らずにすむな
$ make other

↑これ、TeX系列だとなんかありもしないファイルを読みこもうとして失敗する。
LaTeX系列だと行ける。TeXとLaTeXでjobnameオプションの処理が違うのかな?
ちょっとその辺分からんが、とりあえずLaTeXしか使わんし、満足だ。
2018/03/21(水) 22:06:58.23
>>997
派生的なファイルをいくつも作るし、\inputとかもあるし、パイプラインとは親和性低い。
そもそもUNIXとは関係ないOSで開発されたし。
2018/03/21(水) 22:19:00.16
>>999
\inputこそcatにつないでもらうって言う設計ポリシーもありえたんじゃ
auxとかは、標準入力のときはベースネームをstdに決め打ちにするとか手はある
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 1190日 20時間 28分 47秒
レス数が1000を超えています。これ以上書き込みはできません。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況