1 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/12/17(水) 01:50:13.42 .net] 過去スレッド 第一章 pc.2ch.net/test/read.cgi/unix/977144071/ _ pc.2ch.net/unix/kako/977/977144071.html 第二章 pc.2ch.net/test/read.cgi/unix/1033564798/ (984レス) 第三章 pc8.2ch.net/test/read.cgi/unix/1059616013/ (996レス) 第四章 pc8.2ch.net/test/read.cgi/unix/1116389650/ 第五章 pc11.2ch.net/test/read.cgi/unix/1153569474/ 第六章 pc12.2ch.net/test/read.cgi/unix/1193135030/ 第七章 hibari.2ch.net/test/read.cgi/unix/1268927301/ 第八章 toro.2ch.net/test/read.cgi/unix/1323615979/ (983レス) 第九章 toro.2ch.net/test/read.cgi/unix/1373507129/ (17レス) _ peace.2ch.net/test/read.cgi/unix/1380736314/ (981レス)
1001 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/03/18(日) 16:31:35.45 .net] けっきょく、ls-Rというファイルを探して全部消したんです。 理由は、別のものをインストールしたときに、ls-Rを更新しなければ 古いものを読み込み続けるからという理由でした。 ところがそれをすると、 $ texdoc /usr/local/texlive/2017/bin/x86_64-darwin/texdoc:7: module 'texdoc.main' not found: no field package.preload['texdoc.main'] [kpse lua searcher] file not found: 'texdoc.main' [kpse C searcher] file not found: 'texdoc.main' no file '/usr/local/lib/lua/5.2/texdoc.so' no file '/usr/local/lib/lua/5.2/loadall.so' no file './texdoc.so' と出てしまって、ファイルを見つけられなくなった。pathを通せばいいけど めんどうなので、結局ホームディレクトリでmktexlsrをしました。 その結果 find /usr/ -name "ls-R" で /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 となりました。 結局消す前と同じものが作られたというわけです。
1002 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/03/18(日) 22:33:31.94 .net] TEXMF を /usr/local/texlive としたい動機が分からんのだが…
1003 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/03/18(日) 22:48:25.55 .net] mktexlsrをホームディレクトリでせずに、setenvで setenv TEXMF /usr/local/lib/texmf ls -R $TEXMF > $TEXMF/ls-R のようにやるとして(このままやってもエラーがでる) どのようにすればよろしいのでしょう? >>974 の4箇所にls-Rがあり、しかもそれをエディターで開いてみたら ことなった記述が中にされていました。 もうsetenvを使った設定というのはできないのでしょうか?
1004 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/03/18(日) 22:58:57.01 .net] >>975 kpsewhich --var-value="TEXMF" で出てくる値を基本、すべていれれば いいだろうということですね。 それだとそのとおりです。 /use/local/texliveをTEXMFにする理由は ないです。 それでは setenv TEXMF /usr/local/lib/texmf についても同様に考えよということに なるのでしょうね。
1005 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/03/19(月) 01:42:27.34 .net] 演算能力の高いいまの PC ではどうかわからないけど ls-R ファイルは 昔の PC では TeX のシステムが必要なファイルを直接探すのは非常に時間がかかってそれをどうにか短縮させようということで TEXMF ディレクトリを決めてその直下に ls-R ファイルを記述することにより検索効率を高めようという狙いの元作成されるファイルです それを TEXMF の上位ディレクトリである /usr/local/texlive に ls-R ファイルを作成するということは検索効率の低下を意味するんだけど そういうことわかって setenv TEXMF /usr/local/texlive にしたいわけなのかな?
1006 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/03/19(月) 08:51:14.92 .net] >>978 考えていたことはtexliveに作れば漏れがなくなるからいいだろう、ということだと思います。 さらに、ls-Rでつくられるものはディレクトリとその子、孫etcのディレクトリ、に 入っているファイル名なので、そのファイル名が大きくなろうと、 ls-Rを作らずに直接ファイルを探しに行く場合よりは早いだろう と思っています。 他方でsetenv TEXMF /usr/local/texliveだとファイルの読み込みに失敗 しました。 TEXMFが入ってくるところで/usr/local/texliveに置き換わると不都合な設定が あるのだと思います。
1007 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/03/19(月) 10:07:06.19 .net] Local Guide to LaTeX for the McKludge PC(ランポートの本に出てくる) で検索して、 https://tex.stackexchange.com/questions/393099/where-is-the-local-guide-to-latex-for-the-mckludge-pc-aka-the-local-guide-on-m のページが出てきた
1008 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/03/19(月) 19:19:26.00 .net] >>971 面白そうだから、やってみた $ diff <(kpsewhich --expand-path='$TEXMF'| sed 's/:/\n/g') <(kpsewhich --var-value TEXMF| sed -e 's/[!{}]//g' -e 's/,/\n/g') $ 両者、全く同じようだな。
1009 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/03/19(月) 19:53:28.51 .net] クレクレ君は、カンベンしてくれ!
1010 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/03/19(月) 19:59:07.56 .net] >>979 そうですね texmf.cnf の TEXINPUTS などをみれば TEXMF に依存しているので TEXMF をいじれば TEXIPUTS もいじる必要があると思います。 例えば TEXMF を /usr/loca/texlive とすると TEXINPUTS.latex = .;$TEXMF/tex/{latex,generic,}// を TEXINPUTS.latex = .;$TEXMF/2017/texmf-dist/tex/{latex,generic,}// のように変更する必要があるでしょうし、これでは $TEXMF/2017/texmf-local 以下のディレクトリは参照されません。 もし、TEXMF を /usr/local/texlive にすることが可能だとしてもちゃんと TeX が使えるようにする作業は面倒に思えます。
1011 名前:クレクレ mailto:sage [2018/03/19(月) 23:05:41.73 .net] zsh 下で texdoc を使うときの zsh の completion 関数ポチ
1012 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/03/20(火) 01:43:26.64 .net] >>983 そうすると結局mktexlsr以外のものはつかわないでね。 せいぜいそれを実行して出てくるものの部分修正にとどめてね できるls-Rも普通にls -rをしたときにできるディレクトリのリストとは ちがうよ。だからls -rをしても無駄だよ。やめてね、 という風にlatexはなっているということですよね。
1013 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/03/20(火) 01:47:50.89 .net] >>981 自分の場合はそのコードでちがったものが 出た。あとディレクトリの順序がちがってる
1014 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/03/20(火) 02:29:33.93 .net] >>985 ls-R ファイルの内容は普通に TEXMF ディレクトリで行った ls -R した内容でしょ? まあ「想定外の使い方は止めてよ」っていうのは TeX に限らず大抵のソフトウェアで当然のことだよね
1015 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/03/20(火) 06:55:28.49 .net] >>985 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 の実行結果が大きく異なるのであれば >>985 さんの TeX のシステムに異常があるんじゃないのかな?
1016 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/03/20(火) 13:57:26.73 .net] >>988 ありがとう /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の入ったところを変更し
1017 名前:ても エラーが出た。たとえば diff <"ls-R"| sed 's/:/\n/g' <"/Users/名前/Desktop/ls-R2"| sed -e 's/[!{}]//g' -e 's/,/\n/g' [] [ここ壊れてます]
1018 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/03/20(火) 13:58:41.06 .net] Xどうちがうんですか? Oどう使うんですか? の訂正です
1019 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/03/20(火) 15:39:32.62 .net] >>989 まず $ diff <(command line A) <(command line B) というのはプロセス置換というBash代表に一部のシェルにしか備わってない機能だ。 貴兄がどんなOSを使ってるか知らんが、ATXとかなら使えない。 ていうかディレクトリ構造を見るに OS X High Sierra っぽいな。なら bash が規定で使える筈なので、エラーになるのはおかしいな。
1020 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/03/20(火) 15:40:19.35 .net] s/規定/既定/
1021 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/03/20(火) 18:17:50.14 .net] ん? /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 じゃダメなん?
1022 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/03/20(火) 19:08:34.82 .net] >>993 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 と書かれてありました。これは比較に思えないけど、比較なんですか?
1023 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/03/20(火) 19:48:20.33 .net] >>994 >これは比較に思えないけど、比較なんですか? そうです。しかし、 unified形式がいいなら、diffの代わりに diff -u にする。 context形式がいいなら、diffの代わりに diff -cにする。
1024 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/03/20(火) 20:33:32.91 .net] もう(LaTeX関係)ないじゃん
1025 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/03/20(火) 22:49:58.90 .net] >>996 ここはUNIX版だから、 UNIXコマンドでTeXをごにょごにょするのはアリ
1026 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/03/21(水) 10:56:05.46 .net] TeXのコンパイルにMakefileを活用し始めたけどかなり良いね。 latexmkとかよりも柔軟だし、なによりmakeが一般のプログラム言語にも使われているから情報が多い。
1027 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/03/21(水) 12:49:53.00 .net] latexmkならlatexmk -pvc directorynamae.tex でタイプセットすればあとはそのdirectoryname.texをエディターで開いて、 かってに修正して保存するたびに、pdf(Skim使ってる)の画面が新しく なってどう修正されたかわかるんですか、そういう便利なことを Makefileを使ってもできますか? それから なにとぞ、なにかのページのURLかやりかたを、書いていただけないでしょうか?
1028 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/03/21(水) 16:53:08.35 .net] >>999 >>998 じゃないけど、 latexmk は便利で、make は自由だから、自由さが欲しければ、make を選んでも不思議ではない。 たとえば、発表用スライド、著作権を加味したインターネット公開用スライド、 配布用articleと3種類のコンパイルを使い分けたい場合、 make pres make publ make hand と自由に分けて、同じソースから異なるものがコンパイルできたら便利じゃないか。 makefileには、sedやawkはもちろん、latexmkすら書くことができるから、 自由に何でもできる。 なお、Makefileの中に、 latexmk -pvc directorynamae.tex と書けば、ご要望のことはできるよ。
1029 名前:984 mailto:sage [2018/03/21(水) 20:02:21.58 .net] >>1000 984だが、 同じソースから異なるものをコンパイルするってどうやるんだ? 異なるコンパイルをしようと思ったらファイルに直接その旨を指定しないと いけないと思うんだが。 それとも何かトリックがあるのかな。
1030 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/03/21(水) 20:10:17.89 .net] documentclass 書き換えた中間ファイル作れば?
1031 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/03/21(水) 20:16:43.25 .net] 昔から思ってることだけどtexが標準入出力できたら便利
1032 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/03/21(水) 20:17:41.54 .net] cat hoge.tex | latex - -o - > hage.dvi
1033 名前:986 mailto:sage [2018/03/21(水) 20:53:09.60 .net] >>1001 > 異なるコンパイルをしようと思ったらファイルに直接その旨を指定しないと 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 とする。
1034 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/03/21(水) 20:53:53.54 .net] $ cat ./file.ltx | lualatex --jobname=file ↑こんなことして意味あんのか知らんが。 結局「file」という名前を指定する必要があるし、出力はファイル。
1035 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/03/21(水) 21:11:10.55 .net] 991でsed通す所中間ファイル作らずにすむとか cat head. list1.tex foot.tex | latex > list1.dvi cat head. list2.tex foot.tex | latex > list2.dvi … とか
1036 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/03/21(水) 21:13:53.34 .net] >>1006 それだとそうだけど、 fileをテンポラリファイルにして、 全体として標準入出力するラッパーを書けば良いのでは。 T=$(mktemp) cat > $T lualatex --jobname=$T cat $T.pdf rm $T $T.aux $T.toc $T.log $T.pdf こんな感じに
1037 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/03/21(水) 21:17:16.50 .net] 昔texが直接pdfを吐けなかった頃、 latex | dvipdfm みたいにパイプで繋げたら便利かなって思ってた
1038 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/03/21(水) 21:20:05.13 .net] パイプラインで中間ファイルが必要だなんて、DOSのなんちゃってパイプラインみたいでダサい
1039 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/03/21(水) 21:23:12.39 .net] unix流だとパイプラインの一部として使えるように実装しそうなのに、なんでそうしなかったのか不思議です
1040 名前:987 mailto:sage [2018/03/21(水) 21:30:59.11 .net] >>1005 >>1006 これ見て思い付いたが 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しか使わんし、満足だ。
1041 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/03/21(水) 22:06:58.23 .net] >>1011 派生的なファイルをいくつも作るし、\inputとかもあるし、パイプラインとは親和性低い。 そもそもUNIXとは関係ないOSで開発されたし。
1042 名前:名無しさん@お腹いっぱい。 mailto:sage [2018/03/21(水) 22:19:00.16 .net] >>1013 \inputこそcatにつないでもらうって言う設計ポリシーもありえたんじゃ auxとかは、標準入力のときはベースネームをstdに決め打ちにするとか手はある
1043 名前:1001 [Over 1000 Thread.net] このスレッドは1000を超えました。 新しいスレッドを立ててください。 life time: 1190日 20時間 28分 47秒
1044 名前:過去ログ ★ [[過去ログ]] ■ このスレッドは過去ログ倉庫に格納されています