レス数が1000を超えているけど、まだ書けるかも知れないよ。
\chapter{\TeX} % 第十章
1 :名無しさん@お腹いっぱい。 :2014/12/17(水) 01:50:13.42 .net 過去スレッド 第一章 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レス)
966 :名無しさん@お腹いっぱい。 :2018/03/15(木) 11:11:53.41 .net >>964 0スタートの連番の数字なら\ifcase
967 :名無しさん@お腹いっぱい。 :2018/03/15(木) 11:19:24.59 .net >>964 https://tex.stackexchange.com/questions/64131/implementing-switch-cases にもいろいろある
968 :名無しさん@お腹いっぱい。 :2018/03/17(土) 01:06:11.29 .net >>965 素人なのでよくわからないけどW32TeXのwikiには >日本語を扱う pTeX, pLaTeX は(tetexに)入っておらず、これらを Windows 32bit > に移植したのが W32TeX と書いてあった。Web2Cは本家本元でしょ。
969 :名無しさん@お腹いっぱい。 :2018/03/18(日) 12:39:56.15 .net kpsewhich --expand-path='$TEXMF' で /Users/なまえ/Library/texlive/2017/texmf-var: /usr/local/texlive/texmf-local: /usr/local/texlive/2017/texmf-config: /usr/local/texlive/2017/texmf-var: /usr/local/texlive/2017/texmf-dist と出てきます。他方で、texの手元にある古い本には setenv TEXMF /usr/local/lib/texmf と書いています。/usr/local/lib/texmfというディレクトリはもうなくて、 いまでは/usr/local/texlive ならあるので、 setenv TEXMF /usr/local/texlive とした時に、一番上のkpsewhichで出てきた4つのディレクトリというパラメーター は/usr/local/texliveに上書きされてしまって消えてしまうのでしょうか? (怖くてsetenvできない) それとsetenvが書き換えるのはTEXMF.CNFの該当箇所なのでしょうか?
970 :名無しさん@お腹いっぱい。 :2018/03/18(日) 13:16:31.57 .net >>969 たぶん、自己解決しました。 setenvだけでは書き換えることが なくて、これを.bashrcとか.bash_profile に書くとか、 $ setenv TEXMF /user/local/lib $ ls -R $TEXMF > $TEXMF/ls-R とするとか(このコードは実行してはだめ) して、物理的なファイルにしておかないといけない ということだと思います。
971 :名無しさん@お腹いっぱい。 :2018/03/18(日) 15:01:38.83 .net >>970 --expand-path というオプションは逆に初耳だわ $ kpsewhich --var-value TEXMF のほうが良く聞くけど,どうなんだろう。
972 :名無しさん@お腹いっぱい。 :2018/03/18(日) 15:01:59.66 .net すまんメール欄空白にしちゃった。
973 :名無しさん@お腹いっぱい。 :2018/03/18(日) 16:25:05.36 .net >>971 kpsewhich --expand-path='$TEXMF' と kpsewhich --var-value TEXMF の結果を比べると、前者にはない /Users/namae/Library/texlive/2017/texmf-config と /Users/namae/Library/texmf が後者にはあった。それに僕のパソコンの中には、/Users/namae/Library/texmf というディレクトリ自体がなかった。 だからkpsewhich --var-value TEXMFはパソコンのなかを探しているわけでは ないことがわかった。どこに書いているかと考えて、texmf.cnfという初期設定 のファイルだろうなとおもって、 find /usr/ -name "texmf.cnf" とすると /usr//local/texlive/2017/texmf.cnf /usr//local/texlive/2017/texmf-dist/web2c/texmf.cnf と2つ出てきた。個人設定変更は前者のほうに変更を書き込むということだから、 前者のファイルをemacsで開いてみた。 すると TEXMFCONFIG = ~/Library/texlive/2017/texmf-config TEXMFHOME = ~/Library/texmf と書いていた。 だから、たぶんkpsewhich --var-valueとするとみるところが、 texmf.cnfなんだろうなと思う。実際使われようがどうであろうが、 登録されているものはすべてリストアップするんじゃないかな。 kpsewhich --expand-path='$TEXMF'のほうはtexmfの中身をみて、実際に 使われるディレクトリじゃないのかな。
974 :名無しさん@お腹いっぱい。 :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 となりました。 結局消す前と同じものが作られたというわけです。
975 :名無しさん@お腹いっぱい。 :2018/03/18(日) 22:33:31.94 .net TEXMF を /usr/local/texlive としたい動機が分からんのだが…
976 :名無しさん@お腹いっぱい。 :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を使った設定というのはできないのでしょうか?
977 :名無しさん@お腹いっぱい。 :2018/03/18(日) 22:58:57.01 .net >>975 kpsewhich --var-value="TEXMF" で出てくる値を基本、すべていれれば いいだろうということですね。 それだとそのとおりです。 /use/local/texliveをTEXMFにする理由は ないです。 それでは setenv TEXMF /usr/local/lib/texmf についても同様に考えよということに なるのでしょうね。
978 :名無しさん@お腹いっぱい。 :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 にしたいわけなのかな?
979 :名無しさん@お腹いっぱい。 :2018/03/19(月) 08:51:14.92 .net >>978 考えていたことはtexliveに作れば漏れがなくなるからいいだろう、ということだと思います。 さらに、ls-Rでつくられるものはディレクトリとその子、孫etcのディレクトリ、に 入っているファイル名なので、そのファイル名が大きくなろうと、 ls-Rを作らずに直接ファイルを探しに行く場合よりは早いだろう と思っています。 他方でsetenv TEXMF /usr/local/texliveだとファイルの読み込みに失敗 しました。 TEXMFが入ってくるところで/usr/local/texliveに置き換わると不都合な設定が あるのだと思います。
980 :名無しさん@お腹いっぱい。 :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 のページが出てきた
981 :名無しさん@お腹いっぱい。 :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') $ 両者、全く同じようだな。
982 :名無しさん@お腹いっぱい。 :2018/03/19(月) 19:53:28.51 .net クレクレ君は、カンベンしてくれ!
983 :名無しさん@お腹いっぱい。 :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 が使えるようにする作業は面倒に思えます。
984 :クレクレ :2018/03/19(月) 23:05:41.73 .net zsh 下で texdoc を使うときの zsh の completion 関数ポチ
985 :名無しさん@お腹いっぱい。 :2018/03/20(火) 01:43:26.64 .net >>983 そうすると結局mktexlsr以外のものはつかわないでね。 せいぜいそれを実行して出てくるものの部分修正にとどめてね できるls-Rも普通にls -rをしたときにできるディレクトリのリストとは ちがうよ。だからls -rをしても無駄だよ。やめてね、 という風にlatexはなっているということですよね。
986 :名無しさん@お腹いっぱい。 :2018/03/20(火) 01:47:50.89 .net >>981 自分の場合はそのコードでちがったものが 出た。あとディレクトリの順序がちがってる
987 :名無しさん@お腹いっぱい。 :2018/03/20(火) 02:29:33.93 .net >>985 ls-R ファイルの内容は普通に TEXMF ディレクトリで行った ls -R した内容でしょ? まあ「想定外の使い方は止めてよ」っていうのは TeX に限らず大抵のソフトウェアで当然のことだよね
988 :名無しさん@お腹いっぱい。 :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 のシステムに異常があるんじゃないのかな?
989 :名無しさん@お腹いっぱい。 :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の入ったところを変更しても エラーが出た。たとえば diff <"ls-R"| sed 's/:/\n/g' <"/Users/名前/Desktop/ls-R2"| sed -e 's/[!{}]//g' -e 's/,/\n/g'
990 :名無しさん@お腹いっぱい。 :2018/03/20(火) 13:58:41.06 .net Xどうちがうんですか? Oどう使うんですか? の訂正です
991 :名無しさん@お腹いっぱい。 :2018/03/20(火) 15:39:32.62 .net >>989 まず $ diff <(command line A) <(command line B) というのはプロセス置換というBash代表に一部のシェルにしか備わってない機能だ。 貴兄がどんなOSを使ってるか知らんが、ATXとかなら使えない。 ていうかディレクトリ構造を見るに OS X High Sierra っぽいな。なら bash が規定で使える筈なので、エラーになるのはおかしいな。
992 :名無しさん@お腹いっぱい。 :2018/03/20(火) 15:40:19.35 .net s/規定/既定/
993 :名無しさん@お腹いっぱい。 :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 じゃダメなん?
994 :名無しさん@お腹いっぱい。 :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 と書かれてありました。これは比較に思えないけど、比較なんですか?
995 :名無しさん@お腹いっぱい。 :2018/03/20(火) 19:48:20.33 .net >>994 >これは比較に思えないけど、比較なんですか? そうです。しかし、 unified形式がいいなら、diffの代わりに diff -u にする。 context形式がいいなら、diffの代わりに diff -cにする。
996 :名無しさん@お腹いっぱい。 :2018/03/20(火) 20:33:32.91 .net もう(LaTeX関係)ないじゃん
997 :名無しさん@お腹いっぱい。 :2018/03/20(火) 22:49:58.90 .net >>996 ここはUNIX版だから、 UNIXコマンドでTeXをごにょごにょするのはアリ
998 :名無しさん@お腹いっぱい。 :2018/03/21(水) 10:56:05.46 .net TeXのコンパイルにMakefileを活用し始めたけどかなり良いね。 latexmkとかよりも柔軟だし、なによりmakeが一般のプログラム言語にも使われているから情報が多い。
999 :名無しさん@お腹いっぱい。 :2018/03/21(水) 12:49:53.00 .net latexmkならlatexmk -pvc directorynamae.tex でタイプセットすればあとはそのdirectoryname.texをエディターで開いて、 かってに修正して保存するたびに、pdf(Skim使ってる)の画面が新しく なってどう修正されたかわかるんですか、そういう便利なことを Makefileを使ってもできますか? それから なにとぞ、なにかのページのURLかやりかたを、書いていただけないでしょうか?
1000 :名無しさん@お腹いっぱい。 :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 と書けば、ご要望のことはできるよ。
1001 :984 :2018/03/21(水) 20:02:21.58 .net >>1000 984だが、 同じソースから異なるものをコンパイルするってどうやるんだ? 異なるコンパイルをしようと思ったらファイルに直接その旨を指定しないと いけないと思うんだが。 それとも何かトリックがあるのかな。
1002 :名無しさん@お腹いっぱい。 :2018/03/21(水) 20:10:17.89 .net documentclass 書き換えた中間ファイル作れば?
1003 :名無しさん@お腹いっぱい。 :2018/03/21(水) 20:16:43.25 .net 昔から思ってることだけどtexが標準入出力できたら便利
1004 :名無しさん@お腹いっぱい。 :2018/03/21(水) 20:17:41.54 .net cat hoge.tex | latex - -o - > hage.dvi
1005 :986 :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 とする。
1006 :名無しさん@お腹いっぱい。 :2018/03/21(水) 20:53:53.54 .net $ cat ./file.ltx | lualatex --jobname=file ↑こんなことして意味あんのか知らんが。 結局「file」という名前を指定する必要があるし、出力はファイル。
1007 :名無しさん@お腹いっぱい。 :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 … とか
1008 :名無しさん@お腹いっぱい。 :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 こんな感じに
1009 :名無しさん@お腹いっぱい。 :2018/03/21(水) 21:17:16.50 .net 昔texが直接pdfを吐けなかった頃、 latex | dvipdfm みたいにパイプで繋げたら便利かなって思ってた
1010 :名無しさん@お腹いっぱい。 :2018/03/21(水) 21:20:05.13 .net パイプラインで中間ファイルが必要だなんて、DOSのなんちゃってパイプラインみたいでダサい
1011 :名無しさん@お腹いっぱい。 :2018/03/21(水) 21:23:12.39 .net unix流だとパイプラインの一部として使えるように実装しそうなのに、なんでそうしなかったのか不思議です
1012 :987 :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しか使わんし、満足だ。
1013 :名無しさん@お腹いっぱい。 :2018/03/21(水) 22:06:58.23 .net >>1011 派生的なファイルをいくつも作るし、\inputとかもあるし、パイプラインとは親和性低い。 そもそもUNIXとは関係ないOSで開発されたし。
1014 :名無しさん@お腹いっぱい。 :2018/03/21(水) 22:19:00.16 .net >>1013 \inputこそcatにつないでもらうって言う設計ポリシーもありえたんじゃ auxとかは、標準入力のときはベースネームをstdに決め打ちにするとか手はある
1015 :2ch.net投稿限界 :Over 1000 Thread 2ch.netからのレス数が1000に到達しました。
300 KB
新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★
本文 スレッドタイトル 投稿者