[過去ログ] \chapter{\TeX} % 第十章 [転載禁止]©2ch.net (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
973: 2018/03/20(火)02:29 AAS
>>971
ls-R ファイルの内容は普通に TEXMF ディレクトリで行った ls -R した内容でしょ?
まあ「想定外の使い方は止めてよ」っていうのは TeX に限らず大抵のソフトウェアで当然のことだよね
974(1): 2018/03/20(火)06:55 AAS
>>971
ls -r って本当に -r オプション? -R オプションのタイポなのかな?
-r なら -R と異なるのは当たり前かな?
実際 /usr/local/texlive/2017/texmf-dist で ls -R を行った結果を diff してみたけど ls-R ファイルと細かい部分を除き(ls-R ファイルの先頭に「% ls-R -- filename database for kpathsea; do not change this line.」があるとか)同じだったよ
もし本当に ls-R ファイルと ls -R の実行結果が大きく異なるのであれば >>971 さんの TeX のシステムに異常があるんじゃないのかな?
975(1): 2018/03/20(火)13:57 AAS
>>974
ありがとう
/usr/local//texlive/texmf-local/ls-R
/usr/local//texlive/2017/texmf-var/ls-R
/usr/local//texlive/2017/texmf-dist/ls-R
/usr/local//texlive/2017/texmf-config/ls-R
の4つのうちの最初の2つについて、
たとえば2つ目については
$cd /usr/local//texlive/2017/texmf-var/
$ls -R >/Users/名前/Desktop/ls-Rの結果
と
mltexlsrをホームディレクトリでした結果の
/usr/local//texlive/2017/texmf-var/ls-R
をエディタで開いて、それをデスクトップにls-R4
の名前で保存して、比較しました。
同じものですね。その結果 ./:が mktexlsrで作ったものには入っているだけでした。
ホームディレクトリでmktexlsrをするということは、
/usr/local//texlive/texmf-local/
/usr/local//texlive/2017/texmf-var/
/usr/local//texlive/2017/texmf-dist/
/usr/local//texlive/2017/texmf-config/
のそれぞれに移ってls -Rをするのと同じことだと
いうことですね。
ちなみに、diffはこういう比較の場合どうちがうんですか?教えていただければ
助かります。上の例のところでkpsewhichの入ったところを変更しても
エラーが出た。たとえば
diff <"ls-R"| sed 's/:/\n/g' <"/Users/名前/Desktop/ls-R2"| sed -e 's/[!{}]//g' -e 's/,/\n/g'
976: 2018/03/20(火)13:58 AAS
Xどうちがうんですか?
Oどう使うんですか?
の訂正です
977: 2018/03/20(火)15:39 AAS
>>975
まず
$ diff <(command line A) <(command line B)
というのはプロセス置換というBash代表に一部のシェルにしか備わってない機能だ。
貴兄がどんなOSを使ってるか知らんが、ATXとかなら使えない。
ていうかディレクトリ構造を見るに OS X High Sierra っぽいな。なら bash が規定で使える筈なので、エラーになるのはおかしいな。
978: 2018/03/20(火)15:40 AAS
s/規定/既定/
979(1): 2018/03/20(火)18:17 AAS
ん?
/usr/local/texlive/2017/texmf-dist/ls-R と /Users/name/Desktop/ls-R2 を比較したいなら素直に
$ diff /usr/local/texlive/2017/texmf-dist/ls-R /Users/name/Desktop/ls-R2
じゃダメなん?
980(1): 2018/03/20(火)19:08 AAS
>>979
diff "/usr/local/texlive/2017/texmf-dist/ls-R" "/Users/なまえ/Desktop/ls-R2" > /Users/なまえ/Desktop/hikaku2で出てきた/hikaku2には
1,2d0
< % ls-R -- filename database for kpathsea; do not change this line.
< ./:
43423a43422
> man
47495d47493
< .dict.pws
143681d143678
<
183156d183152
< .tex
と書かれてありました。これは比較に思えないけど、比較なんですか?
981: 2018/03/20(火)19:48 AAS
>>980
>これは比較に思えないけど、比較なんですか?
そうです。しかし、
unified形式がいいなら、diffの代わりに diff -u にする。
context形式がいいなら、diffの代わりに diff -cにする。
982(1): 2018/03/20(火)20:33 AAS
もう(LaTeX関係)ないじゃん
983: 2018/03/20(火)22:49 AAS
>>982
ここはUNIX版だから、
UNIXコマンドでTeXをごにょごにょするのはアリ
984(2): 2018/03/21(水)10:56 AAS
TeXのコンパイルにMakefileを活用し始めたけどかなり良いね。
latexmkとかよりも柔軟だし、なによりmakeが一般のプログラム言語にも使われているから情報が多い。
985(1): 2018/03/21(水)12:49 AAS
latexmkならlatexmk -pvc directorynamae.tex
でタイプセットすればあとはそのdirectoryname.texをエディターで開いて、
かってに修正して保存するたびに、pdf(Skim使ってる)の画面が新しく
なってどう修正されたかわかるんですか、そういう便利なことを
Makefileを使ってもできますか?
それから
なにとぞ、なにかのページのURLかやりかたを、書いていただけないでしょうか?
986(2): 2018/03/21(水)16:53 AAS
>>985
>>984 じゃないけど、
latexmk は便利で、make は自由だから、自由さが欲しければ、make を選んでも不思議ではない。
たとえば、発表用スライド、著作権を加味したインターネット公開用スライド、
配布用articleと3種類のコンパイルを使い分けたい場合、
make pres
make publ
make hand
と自由に分けて、同じソースから異なるものがコンパイルできたら便利じゃないか。
makefileには、sedやawkはもちろん、latexmkすら書くことができるから、
自由に何でもできる。
なお、Makefileの中に、
latexmk -pvc directorynamae.tex
と書けば、ご要望のことはできるよ。
987(2): 984 2018/03/21(水)20:02 AAS
>>986
984だが、
同じソースから異なるものをコンパイルするってどうやるんだ?
異なるコンパイルをしようと思ったらファイルに直接その旨を指定しないと
いけないと思うんだが。
それとも何かトリックがあるのかな。
988: 2018/03/21(水)20:10 AAS
documentclass 書き換えた中間ファイル作れば?
989: 2018/03/21(水)20:16 AAS
昔から思ってることだけどtexが標準入出力できたら便利
990: 2018/03/21(水)20:17 AAS
cat hoge.tex | latex - -o - > hage.dvi
991(1): 986 2018/03/21(水)20:53 AAS
>>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
とする。
992(2): 2018/03/21(水)20:53 AAS
$ cat ./file.ltx | lualatex --jobname=file
↑こんなことして意味あんのか知らんが。
結局「file」という名前を指定する必要があるし、出力はファイル。
993: 2018/03/21(水)21:11 AAS
991でsed通す所中間ファイル作らずにすむとか
cat head. list1.tex foot.tex | latex > list1.dvi
cat head. list2.tex foot.tex | latex > list2.dvi
…
とか
994: 2018/03/21(水)21:13 AAS
>>992
それだとそうだけど、
fileをテンポラリファイルにして、
全体として標準入出力するラッパーを書けば良いのでは。
T=$(mktemp)
cat > $T
lualatex --jobname=$T
cat $T.pdf
rm $T $T.aux $T.toc $T.log $T.pdf
こんな感じに
995: 2018/03/21(水)21:17 AAS
昔texが直接pdfを吐けなかった頃、
latex | dvipdfm
みたいにパイプで繋げたら便利かなって思ってた
996: 2018/03/21(水)21:20 AAS
パイプラインで中間ファイルが必要だなんて、DOSのなんちゃってパイプラインみたいでダサい
997(1): 2018/03/21(水)21:23 AAS
unix流だとパイプラインの一部として使えるように実装しそうなのに、なんでそうしなかったのか不思議です
998: 987 2018/03/21(水)21:30 AAS
>>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しか使わんし、満足だ。
999(1): 2018/03/21(水)22:06 AAS
>>997
派生的なファイルをいくつも作るし、\inputとかもあるし、パイプラインとは親和性低い。
そもそもUNIXとは関係ないOSで開発されたし。
1000: 2018/03/21(水)22:19 AAS
>>999
\inputこそcatにつないでもらうって言う設計ポリシーもありえたんじゃ
auxとかは、標準入力のときはベースネームをstdに決め打ちにするとか手はある
1001(1): 1001 ID:Thread(1/2) AAS
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 1190日 20時間 28分 47秒
1002(1): 1002 ID:Thread(2/2) AAS
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
外部リンク:premium.5ch.net
▼ 浪人ログインはこちら ▼
外部リンク[php]:login.5ch.net
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.819s*