X



\chapter{\TeX} % 第十章 [転載禁止]©2ch.net
レス数が1000を超えています。これ以上書き込みはできません。
0001名無しさん@お腹いっぱい。
垢版 |
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レス)
0908名無しさん@お腹いっぱい。
垢版 |
2018/03/10(土) 14:07:22.28
>>907
それ生放送だよね?
後から視聴できない形での説明ってちょっとなぁ…
そういうコンセプトじゃないのかな? あくまで余興?
0910名無しさん@お腹いっぱい。
垢版 |
2018/03/10(土) 18:16:54.92
NFSS2(New Font Selection Scheme)というのでフォントを管理しているんだよね。
基本を押さえないとね。でもよくもまあ、そういうふうにフォントを管理しようとか
思いつくものだよね。数学者なのに。

ちなみにmarkdownでtikzを入れる文章を書いて、pandocでpdfを作るということに
おいて、うまくいったよ。外部ファイルを作ってそれを読みに行くようにするんだね。
どんなオプションをつければ、どんな結果になるのかは、出てくるアウトプット
-o kekka.pdfのpdfをtexとかtxtとかに変えて、エディターで開いて見ればわかるよ。
-sをつければどんなふうになるのかを見れて、勉強になった。
外部ファイルに何をかけばいいかもわかるよ。その外部ファイルはフィルター
とは言わないよね。だってフィルターの場合はAの結果をBにわたし、Bの結果を
Cに渡すときに、Bをフィルターというんだけど、今の外部ファイルの場合は
pandocがどんな結果を出すかを決めるに当たって、素材としてその外部ファイルに
書いていることを取り込んで、そして人間が指定したオプション通りの配置の
しかたをして、そして全体としてのアウトプットを出すというものだからね。

(でもできたといっても、実はまだ--variableに行長さとかそういうものについて
はうまくいかなくて削除したままだから、そこについても考えなければいけないの
でまだ完璧ではないが、基本できた)

いろんなウェブページをみて、それらを参考にしながら考えるし、ヘルプを読まない
といけないので、時間がかかるけど、たぶんこういうのに慣れれば、こういうこと
だろうと勘が働くものなんだろうね。
0911名無しさん@お腹いっぱい。
垢版 |
2018/03/10(土) 18:22:49.37
奥村本って不思議な本だよね。だって、kpathsearchとかめちゃくちゃ重要なんだけど、
付録に書いてる。しかもあっさり。本文の方には初心者向けのことと、フォントの
難しいことも書いている。(わかりやすくないけど)
あの本読んでも(1度は読んでる)プログラミングに対する意欲は湧かなかった。
(texはマークアップ言語であると同時に、関数型プログラミング言語なのに)
わかりにくいところがあって(たぶんとても難しい箇所なんだろう)、読みにくいのに、
それでもこの本には何かあるかもと思わさせられる(僕みたいな対してtexに
ついて知っていない人にとってはとりわけ)
0912名無しさん@お腹いっぱい。
垢版 |
2018/03/10(土) 18:24:03.30
奥村本は恨みを抱くと同時に、この本をちゃんと理解してやろうと思わせる
本ですよね。いい本だと思います。
0913名無しさん@お腹いっぱい。
垢版 |
2018/03/10(土) 18:28:55.55
companionは2020年に新しいのがでるということになってるみたいですね。
amazonでみた。(米アマゾンだったか、日アマゾンかはわすれた)
texってlispやmathematicaみたいなもので、覚えるものがめちゃくちゃ多い
ですよね。僕は初心者で、ぼちぼち勉強しますけど
0914885
垢版 |
2018/03/10(土) 18:39:41.46
余計なことだけど、オプションでたとえばpandocで-Vと -vが違う意味を持っていたとしても(持ってるんだけど)、macは大文字と小文字を区別できないから、ちゃんと-V
を入れているのに、versionを出す小文字のvだと解釈して、エラーを返してよこします。そのときにはもうちょっと長い文字のオプションが別にあって、(--includeなんちゃらという)それを使えばいいということになるわけだけど、macってこんなふうに
なってるというのはさっきまで知らなかった。elcapitanというバージョンかららしい。
0916名無しさん@お腹いっぱい。
垢版 |
2018/03/10(土) 23:04:27.36
奥村本はTeXがインストールできるメディアが本体で本の中身が付録でしょ
TeXを自力でインストールできない人がバージョンアップの度に購入しているというイメージ
0918名無しさん@お腹いっぱい。
垢版 |
2018/03/10(土) 23:48:38.25
ダランベール演算子ってUnicodeに収録されてるんだね。⧠←これ。(U+29E0)
(La)TeXでは\Boxで代用されてることが多いけど、正確を期すならこれを出力すべきだよね。
0919名無しさん@お腹いっぱい。
垢版 |
2018/03/11(日) 01:39:20.25
奥村本はTeX初心者に統合環境を押し付ける戦犯だと思っている
そういう人たちはコンパイルのログすらまともに提示してくれないんだよね…
ちゃんと拡張子が log のファイルからコピペして欲しいんだけど
0920名無しさん@お腹いっぱい。
垢版 |
2018/03/11(日) 04:46:46.23
いや、奥村さんもコンソールでもできるってことは書いてなかった?
もしかして新しいのだとそういう記載はないのだろうか。
俺が持ってる美文書作成入門はハードカバーだったころのやつだから色々違うのかも。

まずは $ platex ./draft.ltx && dvipdfmx ./draft.dvi が統合環境でのコンパイルがやってることの中核だってことを知ってほしいね。
0921名無しさん@お腹いっぱい。
垢版 |
2018/03/11(日) 05:41:39.16
「コンソールでもできる」くらいの記述じゃ意味ないってことでしょ

まぁ、TeXフォーラムでそういう「ログすらまともに提示してくれない人」をケアしてるんだから、見逃そう

個人的にTeX使う上で奥村サンに頼ったことは一度もないけど
0922名無しさん@お腹いっぱい。
垢版 |
2018/03/11(日) 06:38:23.26
基本はコンソールで行う作業でありソースファイルをコンパイルするとどのようなファイルが作成され各々どのようなことに使われるか
という基本的なことを理解した上で統合環境を使うのであれば全く問題ないんだけどね

実際はそういう基本的なことは無視して統合環境に飛びついてブラックボックス化してしまいエラーが出ても何が原因か自分で想像することすら出来ないことになっているよね
そういう人達はオライリーの入門書みたいなのは毛嫌いして「サルでもわかる○○」みたいな手に取った瞬間から使える(ただし何をしているのかわからない)のを好みそうだよね
0923名無しさん@お腹いっぱい。
垢版 |
2018/03/11(日) 17:12:37.90
ここでもその表記が見られますが,TeXとLaTeXを合わせて“(La)TeX”のような表記をする時がありますよね。
LaTeX2eによる組版でも同じことがしたいと思い,\TeXorLaTeXという命令を作りました。
ほとんどlatex.ltxの\LaTeX命令をパクっただけです。そしてとりあえず期待した見た目を得られました。
しかし(La)TeXは括弧類に関して特別な禁則処理をしますし,その他にも改行処理などに漠然とした不安があります。
「ここはこうした方が安全」とかアドバイスおねがいします。

\DeclareRobustCommand{\TeXorLaTeX}{%
(L%
\kern-.36em%
{\sbox\z@ T%
\vbox to\ht\z@{\hbox%
{\check@mathfonts
\fontsize\sf@size\z@
\math@fontsfalse\selectfont
A}%
\vss}%
}%
\kern-.15em%
)%
\TeX%
}
0924名無しさん@お腹いっぱい。
垢版 |
2018/03/11(日) 17:12:53.43
奥村本の最初のところで platexやって出てきたdviをpdfに直してというのは
やってますよ。
統合環境あって、texは使いやすいにも関わらず、ワードのほうが使いやすいと
いう人も多いから、tex使用人数を増やすには仕方ないのかも。
せめて理工系はtexを大学で教えて使うべきだよね
0925名無しさん@お腹いっぱい。
垢版 |
2018/03/11(日) 21:58:00.02
文書書きたいだけのひとが端末開いてコンパイルできる必要ないと思うけどなあ。こういう先輩風吹かせたがるひと多いから広まらないんじゃ
0926名無しさん@お腹いっぱい。
垢版 |
2018/03/11(日) 22:43:10.53
なにも端末使って作業をしろと言っているんじゃない
基本が分かればなにも統合環境に縛られる必要はなくもっと良い環境があるし
統合環境を使っていてもオプションの指定とかちゃんと理解していればアホな質問もしないだろということじゃよ…
0928名無しさん@お腹いっぱい。
垢版 |
2018/03/12(月) 02:21:38.14
>>927
まあ初心者には統合環境を使わせようという人たちは親切で勧めているんだろうけど
結局ブラックボックスになっていて自分のしたいことも自分で設定できない状況になってるよね
そして質問をして解決するけれど言われたまま設定しているだけで結局ブラックボックスはブラックボックスのまま
そうすると似たような問題に対処できないまままた質問を繰り返すんだよねぇ

まあ質問に答えたい人は基本的なことは教えずに形だけ解決できればいいという姿勢はマッチポンプでいいのかもしれないけど
そののほうが不親切に思えるんだがのぉ
0932名無しさん@お腹いっぱい。
垢版 |
2018/03/12(月) 18:19:36.15
こう言う口うるさい奴に限って、特に何にも教えられないんだよな
だいたい、お前はお前が使うものすべてを明らかにしてるのかと
0933名無しさん@お腹いっぱい。
垢版 |
2018/03/13(火) 00:05:00.52
「そうでもない」と言っただけでここまで拡大解釈されるとは壊れるなぁ…
「すべて理解しろ」なんて微塵も考えてないんですがそれは
0934名無しさん@お腹いっぱい。
垢版 |
2018/03/13(火) 02:07:30.22
LuaTeX-ja で \texttt 命令の日本語フォントを変えたい。
luatexja-preset パッケージを match を付けて読み込んで,
\setmonojfont[
BoldFont = * SemiBold
]{Source Han Sans}
とするとエラー無くコンパイルできたものの反映されず。
\texttt{Aあ\textbf{Aあ}} で,太字に指定した部分のフォントは恐らく Source Han Sans (JP) Bold。
これだと Inconsolata と相性が悪いからもっと細くしたいんだけども……。
うーんやりかたが分からん
0935名無しさん@お腹いっぱい。
垢版 |
2018/03/13(火) 14:50:19.50
mktexlsr って $TEXMFHOME を反映しないの?
わざわざ
$ mktexlsr $(kpsewhich --var-value TEXMFHOME)
としないといけない。
どういうこと……?
0937名無しさん@お腹いっぱい。
垢版 |
2018/03/13(火) 21:21:45.19
Windows は知らないけど TEXMFHOME にスタイルファイルとかおくとき mktexlsr は不要だったと思う

多分 TEXMFHOME/tex/hoge/hoge.sty っての作ってすぐに
$ kpsewhich hoge.sty
したらちゃんと
~/texmf/tex/hoge/hoge.sty
って反応するんじゃないかな?
0939名無しさん@お腹いっぱい。
垢版 |
2018/03/13(火) 21:58:03.97
>>938
奥村さんがIDE推奨とあなたは書いてるけど、付録ではいろんなプログラムについても
書いてるからそういう批判はあたらないのかもね。
0940名無しさん@お腹いっぱい。
垢版 |
2018/03/13(火) 23:05:35.59
>>939
すなわちブラックボックスの犠牲者になるかならないかは奥村本の読者の判断が原因だから悪いのはいま TeXQ&A に質問しているような読者だということかな?
0941名無しさん@お腹いっぱい。
垢版 |
2018/03/13(火) 23:32:29.14
latex forumのことは
\author
以下の部分を%を頭につけて、
自分はluatexを使っているから
\usepackage{luatexja}
をつけて
\usepackage{minijs}
の頭にも%をつけて、dvipdfmxを削って
\begin{document}
こんばんわ
\end{document}
とでもすれば、タイプセットが通った。普通にコードの書き間違え
じゃないのかな?
0942名無しさん@お腹いっぱい。
垢版 |
2018/03/13(火) 23:34:15.12
>>940
ブラックボックス関係ないよ
texは難しいという思い込みが
あるので、その思い込みを
無くそうとおもうと勉強するしかない。
それをしようとするかどうか
は個人の資質
0944934
垢版 |
2018/03/14(水) 01:09:51.22
>>934
TeXQ&Aに持っていくので取り下げます。
0946名無しさん@お腹いっぱい。
垢版 |
2018/03/14(水) 06:17:31.62
>>942
究極的にはその通りだよね
ただ特定のソフトを推すような内容の本だと基本的なところを学習する機会を奪う可能性が高いよね
0947名無しさん@お腹いっぱい。
垢版 |
2018/03/14(水) 07:31:25.58
(La)TeXでその処理系のバージョンを挿入する方法ない?
```
この文書は\pLaTeXe\space\getplatexeversion で作成しました。
```
という入力から
>>>
この文書は pLaTeX 2ε 3.14159265-p3.7.1-161114-2.6 で作成しました。
>>>
が得られる。
0948934
垢版 |
2018/03/14(水) 08:45:53.44
>>934
すいません。TeX Q&A に持って行く前に自己解決しました。
単に,Source Han Sans SemiBold がないだけでした。
Source Han Sans Mediumを指定したところ成功しました。すいません。
0950名無しさん@お腹いっぱい。
垢版 |
2018/03/15(木) 06:23:24.77
(La)TeX に \case 文みたいなのってない?
あるマクロを自作してて、引数によって条件を分岐させたいんだが、
ifthen パッケージの ifthenelese だけでは場合分けが階層的になりすぎて可読性・保守性が悪い。
\newcommand{\somecs}[1]{%
\case#1
\in{A}{somecommand}
\in{B}{othercommand}
………以後五つくらい続く
\esac
}
みたいな定義から \somecs{A} -> somecommand が実行、\somecs{B} -> othercommand が実行っていうふうにしたんだけども。
0951名無しさん@お腹いっぱい。
垢版 |
2018/03/15(木) 08:49:30.26
TeXの特に言語面に詳しい人に質問なんだけど、
例えばC99はPOSIXが標準を規定・勧告しててそれに複数の実装が準拠してるって感じだよね。
代表的にはgcc, clang, 8ccなどなど。
翻ってTeXの言語処理系って、実質参照実装が一つだけって思っていいの?
俺は今主にTeX LiveをDebianで使ってるんだけど、この中心にあるweb2c(?だっけ)はWindowsで動くW32TeXとかと同じなの?
それともKnuth氏やらTUGやらが管理してる「TeXの処理系はかくあるべし」っていう取り決めがあって、各々の実装がそれに従ってるの?
0954名無しさん@お腹いっぱい。
垢版 |
2018/03/17(土) 01:06:11.29
>>951
素人なのでよくわからないけどW32TeXのwikiには
>日本語を扱う pTeX, pLaTeX は(tetexに)入っておらず、これらを Windows 32bit
> に移植したのが W32TeX
と書いてあった。Web2Cは本家本元でしょ。
0955名無しさん@お腹いっぱい。
垢版 |
2018/03/18(日) 12:39:56.15
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の該当箇所なのでしょうか?
0956名無しさん@お腹いっぱい。
垢版 |
2018/03/18(日) 13:16:31.57
>>955
たぶん、自己解決しました。
setenvだけでは書き換えることが
なくて、これを.bashrcとか.bash_profile
に書くとか、
$ setenv TEXMF /user/local/lib
$ ls -R $TEXMF > $TEXMF/ls-R
とするとか(このコードは実行してはだめ)
して、物理的なファイルにしておかないといけない
ということだと思います。
0957名無しさん@お腹いっぱい。
垢版 |
2018/03/18(日) 15:01:38.83
>>956
--expand-path というオプションは逆に初耳だわ
$ kpsewhich --var-value TEXMF
のほうが良く聞くけど,どうなんだろう。
0959名無しさん@お腹いっぱい。
垢版 |
2018/03/18(日) 16:25:05.36
>>957
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の中身をみて、実際に
使われるディレクトリじゃないのかな。
0960名無しさん@お腹いっぱい。
垢版 |
2018/03/18(日) 16:31:35.45
けっきょく、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
となりました。 結局消す前と同じものが作られたというわけです。
0962名無しさん@お腹いっぱい。
垢版 |
2018/03/18(日) 22:48:25.55
mktexlsrをホームディレクトリでせずに、setenvで
setenv TEXMF /usr/local/lib/texmf
ls -R $TEXMF > $TEXMF/ls-R
のようにやるとして(このままやってもエラーがでる)
どのようにすればよろしいのでしょう?
>>960の4箇所にls-Rがあり、しかもそれをエディターで開いてみたら
ことなった記述が中にされていました。
もうsetenvを使った設定というのはできないのでしょうか?
0963名無しさん@お腹いっぱい。
垢版 |
2018/03/18(日) 22:58:57.01
>>961
kpsewhich --var-value="TEXMF"
で出てくる値を基本、すべていれれば
いいだろうということですね。
それだとそのとおりです。
/use/local/texliveをTEXMFにする理由は
ないです。
それでは
setenv TEXMF /usr/local/lib/texmf
についても同様に考えよということに
なるのでしょうね。
0964名無しさん@お腹いっぱい。
垢版 |
2018/03/19(月) 01:42:27.34
演算能力の高いいまの PC ではどうかわからないけど ls-R ファイルは
昔の PC では TeX のシステムが必要なファイルを直接探すのは非常に時間がかかってそれをどうにか短縮させようということで
TEXMF ディレクトリを決めてその直下に ls-R ファイルを記述することにより検索効率を高めようという狙いの元作成されるファイルです

それを TEXMF の上位ディレクトリである /usr/local/texlive に ls-R ファイルを作成するということは検索効率の低下を意味するんだけど
そういうことわかって setenv TEXMF /usr/local/texlive にしたいわけなのかな?
0965名無しさん@お腹いっぱい。
垢版 |
2018/03/19(月) 08:51:14.92
>>964
考えていたことはtexliveに作れば漏れがなくなるからいいだろう、ということだと思います。
さらに、ls-Rでつくられるものはディレクトリとその子、孫etcのディレクトリ、に
入っているファイル名なので、そのファイル名が大きくなろうと、
ls-Rを作らずに直接ファイルを探しに行く場合よりは早いだろう
と思っています。

他方でsetenv TEXMF /usr/local/texliveだとファイルの読み込みに失敗
しました。

TEXMFが入ってくるところで/usr/local/texliveに置き換わると不都合な設定が
あるのだと思います。
0967名無しさん@お腹いっぱい。
垢版 |
2018/03/19(月) 19:19:26.00
>>957
面白そうだから、やってみた
$ diff <(kpsewhich --expand-path='$TEXMF'| sed 's/:/\n/g') <(kpsewhich --var-value TEXMF| sed -e 's/[!{}]//g' -e 's/,/\n/g')
$
両者、全く同じようだな。
0969名無しさん@お腹いっぱい。
垢版 |
2018/03/19(月) 19:59:07.56
>>965
そうですね 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 が使えるようにする作業は面倒に思えます。
0970クレクレ
垢版 |
2018/03/19(月) 23:05:41.73
zsh 下で texdoc を使うときの zsh の completion 関数ポチ
0971名無しさん@お腹いっぱい。
垢版 |
2018/03/20(火) 01:43:26.64
>>969
そうすると結局mktexlsr以外のものはつかわないでね。
せいぜいそれを実行して出てくるものの部分修正にとどめてね
できるls-Rも普通にls -rをしたときにできるディレクトリのリストとは
ちがうよ。だからls -rをしても無駄だよ。やめてね、
という風にlatexはなっているということですよね。
0973名無しさん@お腹いっぱい。
垢版 |
2018/03/20(火) 02:29:33.93
>>971
ls-R ファイルの内容は普通に TEXMF ディレクトリで行った ls -R した内容でしょ?

まあ「想定外の使い方は止めてよ」っていうのは TeX に限らず大抵のソフトウェアで当然のことだよね
0974名無しさん@お腹いっぱい。
垢版 |
2018/03/20(火) 06:55:28.49
>>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 のシステムに異常があるんじゃないのかな?
0975名無しさん@お腹いっぱい。
垢版 |
2018/03/20(火) 13:57:26.73
>>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'
0977名無しさん@お腹いっぱい。
垢版 |
2018/03/20(火) 15:39:32.62
>>975
まず
$ diff <(command line A) <(command line B)
というのはプロセス置換というBash代表に一部のシェルにしか備わってない機能だ。
貴兄がどんなOSを使ってるか知らんが、ATXとかなら使えない。

ていうかディレクトリ構造を見るに OS X High Sierra っぽいな。なら bash が規定で使える筈なので、エラーになるのはおかしいな。
0979名無しさん@お腹いっぱい。
垢版 |
2018/03/20(火) 18:17:50.14
ん?
/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
じゃダメなん?
0980名無しさん@お腹いっぱい。
垢版 |
2018/03/20(火) 19:08:34.82
>>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
と書かれてありました。これは比較に思えないけど、比較なんですか?
0981名無しさん@お腹いっぱい。
垢版 |
2018/03/20(火) 19:48:20.33
>>980
>これは比較に思えないけど、比較なんですか?
そうです。しかし、
unified形式がいいなら、diffの代わりに diff -u にする。
context形式がいいなら、diffの代わりに diff -cにする。
0984名無しさん@お腹いっぱい。
垢版 |
2018/03/21(水) 10:56:05.46
TeXのコンパイルにMakefileを活用し始めたけどかなり良いね。
latexmkとかよりも柔軟だし、なによりmakeが一般のプログラム言語にも使われているから情報が多い。
0985名無しさん@お腹いっぱい。
垢版 |
2018/03/21(水) 12:49:53.00
latexmkならlatexmk -pvc directorynamae.tex
でタイプセットすればあとはそのdirectoryname.texをエディターで開いて、
かってに修正して保存するたびに、pdf(Skim使ってる)の画面が新しく
なってどう修正されたかわかるんですか、そういう便利なことを
Makefileを使ってもできますか?
それから
なにとぞ、なにかのページのURLかやりかたを、書いていただけないでしょうか?
0986名無しさん@お腹いっぱい。
垢版 |
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
と書けば、ご要望のことはできるよ。
0987984
垢版 |
2018/03/21(水) 20:02:21.58
>>986
984だが、
同じソースから異なるものをコンパイルするってどうやるんだ?
異なるコンパイルをしようと思ったらファイルに直接その旨を指定しないと
いけないと思うんだが。
それとも何かトリックがあるのかな。
0991986
垢版 |
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
とする。
0992名無しさん@お腹いっぱい。
垢版 |
2018/03/21(水) 20:53:53.54
$ cat ./file.ltx | lualatex --jobname=file
↑こんなことして意味あんのか知らんが。
結局「file」という名前を指定する必要があるし、出力はファイル。
0993名無しさん@お腹いっぱい。
垢版 |
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

とか
0994名無しさん@お腹いっぱい。
垢版 |
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
こんな感じに
0997名無しさん@お腹いっぱい。
垢版 |
2018/03/21(水) 21:23:12.39
unix流だとパイプラインの一部として使えるように実装しそうなのに、なんでそうしなかったのか不思議です
0998987
垢版 |
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しか使わんし、満足だ。
0999名無しさん@お腹いっぱい。
垢版 |
2018/03/21(水) 22:06:58.23
>>997
派生的なファイルをいくつも作るし、\inputとかもあるし、パイプラインとは親和性低い。
そもそもUNIXとは関係ないOSで開発されたし。
1000名無しさん@お腹いっぱい。
垢版 |
2018/03/21(水) 22:19:00.16
>>999
\inputこそcatにつないでもらうって言う設計ポリシーもありえたんじゃ
auxとかは、標準入力のときはベースネームをstdに決め打ちにするとか手はある
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 1190日 20時間 28分 47秒
レス数が1000を超えています。これ以上書き込みはできません。

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