TEXMFLOCAL とカスタマイズ用 texmf.cnf の関係

TEXMFLOCAL とカスタマイズ用 texmf.cnf の関係

- 匿 名 の投稿
返信数: 4
TEXMFLOCAL とカスタマイズ用 texmf.cnf の関係

* 質問

http://oku.edu.mie-u.ac.jp/~okumura/texwiki/?Linux

を参考に「extractbb の追加」を行おうと思いましたが、
texmf.cnf を作成する場所が分からないため、ご教授く
いただければと思います。

===
~ $ kpsewhich -var-value TEXMFLOCAL
/usr/local/share/texmf
===

となった場合、個人用の texmf.cnf は

/usr/local/share/texmf/texmf.cnf

を作成すれば良いでしょうか。それとも

/usr/local/share/texmf/texmf-local/web2c/texmf.cnf
または
/usr/local/share/texmf-local/web2c/texmf.cnf

でしょうか。

* 環境

OS は debian 7.2 wheezy で、TeX のインストールは

===
$ sudo aptitude install texlive-full xdvik-ja gv
===

と行ないました。環境は以下のとおりです。

===
~ $ aptitude show texlive-full
パッケージ: texlive-full
状態: インストール済み
自動的にインストールされた: いいえ
バージョン: 2012.20120611-5
...
~ $ kpsewhich -var-value TEXMFMAIN
/usr/share/texlive/texmf
~ $ kpsewhich -var-value TEXMFLOCAL
/usr/local/share/texmf
~ $ kpsewhich -show-path=texmf.cnf
/etc/texmf/web2c:/usr/share/texlive/texmf/web2c:/usr/share/texlive/texmf-dist/web2c:/usr/local/share/texmf/web2c
~ $ sudo find / -name texmf.cnf
/usr/share/texlive/texmf/web2c/texmf.cnf
/usr/share/texmf/web2c/texmf.cnf
/usr/share/doc/texlive-pictures-doc/latex/pgfplots/texmf.cnf
/usr/share/doc/texlive-doc/latex/pgfplots/texmf.cnf
/etc/texmf/web2c/texmf.cnf
~ $ lsb_release -id
Distributor ID: Debian
Description: Debian GNU/Linux 7.2 (wheezy)
===

* 分からない事

上記 URL で

> TEXMFLOCAL の値を確認します.
>
> $ kpsewhich -var-value TEXMFLOCAL
> /usr/local/texlive/????/../texmf-local

と記載されているのですが、これを確認して

> /usr/local/texlive/texmf-local/web2c/texmf.cnf を作成します.

という結論になぜ至るのかが理解できません。

「/usr/local/texlive/????/../texmf-local」のうち、
「/usr/local/texlive/」までの値を確認して、
「/usr/local/texlive/texmf-local/web2c/texmf.cnf」と結論付けているので
しょうか。

kpsewhich -show-path=texmf.cnf を見ると「/usr/local/share/texmf/」が無
いため、「/usr/local/share/texmf/texmf.cnf」を作成しても読みこまれるか
どうか分からず不安です。
匿 名 への返信

Re: TEXMFLOCAL とカスタマイズ用 texmf.cnf の関係

- KUROKI Yusuke の投稿
> 「/usr/local/texlive/????/../texmf-local」のうち、
> 「/usr/local/texlive/」までの値を確認して、

今の場合,結果としては同じになりますが,相対パスの表現方法について学ばれると正しく理解できるでしょう.

.. は一つ上のディレクトリを指します.

なお,記述上の一般性の確保のために,???? とされていますが,特定の環境では ???? ではなく西暦年が入ります.
KUROKI Yusuke への返信

Re: TEXMFLOCAL とカスタマイズ用 texmf.cnf の関係

- 匿 名 の投稿
コメントありがとうございます。

頂いた回答より、私の環境ですと

===
/usr/local/share/texmf/web2c/texmf.cnf
===

を設定する事になりますが、間違いないでしょうか。

このように申しますのも、設定後、実際に uplatex をタイプセットすると

===
! LaTeX Error: File `TeX.xbb' not found. Use -shell-escape option to generate a
utomatically.
===

とエラーが出てしまい texmf.cnf が設定されていないように思われるからです。

作業は以下のように行いました。

===
$ kpsewhich -var-value TEXMFLOCAL
/usr/local/share/texmf
$ sudo mkdir -p /usr/local/share/texmf/web2c/
$ sudoedit /usr/local/share/texmf/web2c/texmf.cnf
$ cat /usr/local/share/texmf/web2c/texmf.cnf
shell_escape_commands = \
bibtex,bibtex8,bibtexu,upbibtex,biber,\
kpsewhich,\
makeindex,mendex,texindy,\
mpost,upmpost,\
repstopdf,epspdf,extractbb
$ sudo mktexlsr
===

しかしながら、

===
$ kpsewhich texmf.cnf
/etc/texmf/web2c/texmf.cnf
===

となっており、実際に

===
$ cd ~/tmp
$ wget http://caos.di.uminho.pt/wlatex/img/TeX.png
$ cat test-fig.tex
\documentclass[uplatex]{jsarticle}
\usepackage[dvipdfmx]{graphicx}
\begin{document}

まだあげ初めし前髮の/林檎のもとに見えしとき/前にさしたる花櫛の/花ある君と思ひけり

\includegraphics[width=5cm]{TeX.png}

\end{document}
$ uplatex test-fig
===

としたところ、以下のエラーが出てしまいました。

===
! LaTeX Error: File `TeX.xbb' not found. Use -shell-escape option to generate a
utomatically.
===

最初の質問に書きましたとおり、

===
$ kpsewhich -show-path=texmf.cnf
/etc/texmf/web2c:/usr/share/texlive/texmf/web2c:/usr/share/texlive/texmf-dist/web2c:/usr/local/share/texmf/web2c
===

と出る点も気になります。

以下、エラーを含むログファイルです。

===
This is e-upTeX, Version 3.1415926-p3.3-u1.10-110825-2.4 (utf8.uptex) (TeX Live 2012/Debian) (format=uplatex 2013.12.26)  30 DEC 2013 02:33
entering extended mode
restricted \write18 enabled.
%&-line parsing enabled.
**test-fig
(./test-fig.tex
pLaTeX2e <2011/05/07u00>+0 (based on LaTeX2e <2011/06/27> patch level 0)
Babel <v3.8m> and hyphenation patterns for english, dumylang, nohyphenation, et
hiopic, farsi, arabic, pinyin, croatian, bulgarian, ukrainian, russian, slovak,
czech, danish, dutch, usenglishmax, ukenglish, finnish, french, basque, ngerma
n, german, swissgerman, ngerman-x-2012-05-30, german-x-2012-05-30, monogreek, g
reek, ibycus, ancientgreek, hungarian, bengali, tamil, hindi, telugu, gujarati,
sanskrit, malayalam, kannada, assamese, marathi, oriya, panjabi, italian, lati
n, latvian, lithuanian, mongolian, mongolianlmc, nynorsk, bokmal, indonesian, e
speranto, coptic, welsh, irish, interlingua, serbian, serbianc, slovenian, friu
lan, romansh, estonian, romanian, armenian, uppersorbian, turkish, afrikaans, i
celandic, kurmanji, polish, portuguese, galician, catalan, spanish, swedish, th
ai, loaded.
(/usr/share/texlive/texmf-dist/tex/platex/jsclasses/jsarticle.cls
Document Class: jsarticle 2010/03/14 okumura
LaTeX Info: Redefining \rmfamily on input line 332.
LaTeX Info: Redefining \sffamily on input line 335.
LaTeX Info: Redefining \ttfamily on input line 338.
\symmincho=\mathgroup4
LaTeX Font Info:    Overwriting symbol font `mincho' in version `bold'
(Font)                  JY2/mc/m/n --> JY2/gt/m/n on input line 403.
LaTeX Font Info:    Font shape `JT2/mc/m/n' will be
(Font)              scaled to size 9.24683pt on input line 592.
LaTeX Font Info:    Font shape `JY2/mc/m/n' will be
(Font)              scaled to size 9.24683pt on input line 592.
\fullwidth=\dimen118
LaTeX Font Info:    Font shape `JT2/mc/m/n' will be
(Font)              scaled to size 7.39746pt on input line 739.
LaTeX Font Info:    Font shape `JY2/mc/m/n' will be
(Font)              scaled to size 7.39746pt on input line 739.
\c@part=\count81
\c@section=\count82
\c@subsection=\count83
\c@subsubsection=\count84
\c@paragraph=\count85
\c@subparagraph=\count86
\@abstractbox=\box41
\c@figure=\count87
\c@table=\count88
\abovecaptionskip=\skip41
\belowcaptionskip=\skip42
\@lnumwidth=\dimen119
\bibindent=\dimen120
LaTeX Info: Redefining \TeX on input line 1693.
LaTeX Info: Redefining \LaTeX on input line 1719.
LaTeX Info: Redefining \LaTeXe on input line 1744.
\heisei=\count89
) (/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
Package: graphicx 1999/02/16 v1.0f Enhanced LaTeX Graphics (DPC,SPQR)

(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
Package: keyval 1999/03/16 v1.13 key=value parser (DPC)
\KV@toks@=\toks15
)
(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
Package: graphics 2009/02/05 v1.0o Standard LaTeX Graphics (DPC,SPQR)

(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty
Package: trig 1999/03/16 v1.09 sin cos tan (DPC)
)
(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/graphics.cfg
File: graphics.cfg 2010/04/23 v1.9 graphics configuration of TeX Live
)
Package graphics Info: Driver file: dvipdfmx.def on input line 91.

(/usr/share/texlive/texmf-dist/tex/latex/dvipdfmx-def/dvipdfmx.def
File: dvipdfmx.def 1999/02/16 v3.0i Driver-dependant file (DPC,SPQR)
))
\Gin@req@height=\dimen121
\Gin@req@width=\dimen122
)
No file test-fig.aux.
\openout1 = `test-fig.aux'.

LaTeX Font Info:    Checking defaults for OML/cmm/m/it on input line 3.
LaTeX Font Info:    ... okay on input line 3.
LaTeX Font Info:    Checking defaults for T1/cmr/m/n on input line 3.
LaTeX Font Info:    ... okay on input line 3.
LaTeX Font Info:    Checking defaults for OT1/cmr/m/n on input line 3.
LaTeX Font Info:    ... okay on input line 3.
LaTeX Font Info:    Checking defaults for OMS/cmsy/m/n on input line 3.
LaTeX Font Info:    ... okay on input line 3.
LaTeX Font Info:    Checking defaults for OMX/cmex/m/n on input line 3.
LaTeX Font Info:    ... okay on input line 3.
LaTeX Font Info:    Checking defaults for U/cmr/m/n on input line 3.
LaTeX Font Info:    ... okay on input line 3.
LaTeX Font Info:    Checking defaults for JY2/mc/m/n on input line 3.
LaTeX Font Info:    ... okay on input line 3.
LaTeX Font Info:    Checking defaults for JT2/mc/m/n on input line 3.
LaTeX Font Info:    ... okay on input line 3.
runsystem(extractbb TeX.png)...disabled (restricted).


! LaTeX Error: File `TeX.xbb' not found. Use -shell-escape option to generate a
utomatically.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
...

l.7 \includegraphics[width=5cm]{TeX.png}

?

! LaTeX Error: Cannot determine size of graphic in TeX.xbb (no BoundingBox).

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
...

l.7 \includegraphics[width=5cm]{TeX.png}

?
File: TeX.png Graphic file (type bmp)
<TeX.png> [1

] (./test-fig.aux) )
Here is how much of TeX's memory you used:
694 strings out of 494054
7951 string characters out of 3158047
60463 words of memory out of 3000000
4190 multiletter control sequences out of 15000+200000
6816 words of font info for 36 fonts, out of 3000000 for 9000
750 hyphenation exceptions out of 8191
25i,4n,21p,200b,163s stack positions out of 5000i,500n,10000p,200000b,50000s

Output written on test-fig.dvi (1 page, 440 bytes).
匿 名 への返信

Re: TEXMFLOCAL とカスタマイズ用 texmf.cnf の関係

- Akira Kakuto の投稿
> $ kpsewhich -show-path=texmf.cnf
> /etc/texmf/web2c:
> /usr/share/texlive/texmf/web2c:
> /usr/share/texlive/texmf-dist/web2c:
> /usr/local/share/texmf/web2c

配布者により,変更されているようです。
TeX Live 2013 の場合の一例は次のようです。わかりやすいように
改行しています。実際は一行です:

/usr/texlive/2013/bin/platform:
/usr/texlive/2013/bin/platform/share/texmf-local/web2c:
/usr/texlive/2013/bin/platform/share/texmf-dist/web2c:
/usr/texlive/2013/bin/platform/share/texmf/web2c:
/usr/texlive/2013/bin/platform/texmf-local/web2c:
/usr/texlive/2013/bin/platform/texmf-dist/web2c:
/usr/texlive/2013/bin/platform/texmf/web2c:
/usr/texlive/2013/bin:
/usr/texlive/2013/bin/share/texmf-local/web2c:
/usr/texlive/2013/bin/share/texmf-dist/web2c:
/usr/texlive/2013/bin/share/texmf/web2c:
/usr/texlive/2013/bin/texmf-local/web2c:
/usr/texlive/2013/bin/texmf-dist/web2c:
/usr/texlive/2013/bin/texmf/web2c:
/usr/texlive/2013/../texmf-local/web2c:
/usr/texlive/2013:
/usr/texlive/2013/share/texmf-local/web2c:
/usr/texlive/2013/share/texmf-dist/web2c:
/usr/texlive/2013/share/texmf/web2c:
/usr/texlive/2013/texmf-local/web2c:
/usr/texlive/2013/texmf-dist/web2c:
/usr/texlive/2013/texmf/web2c

他の versions でもあまりかわらないと思います。
TeX Live 2014 では
/usr/texlive/2014/../texmf-local/web2c:
ではなくて,
/usr/texlive/texmf-local/web2c:
となります。

いずれにしても,最初に見つかる texmf.cnf に記述しなければ
いけないので,

/etc/texmf/web2c/texmf.cnf

に記述すればよいでしょう。
なお,TeX Live 2014 用の kpathsea でない場合,完全な行でないと
無視されるかもしれないので,\n を忘れないようにして
下さい。(texmf.cnf の最後の記述の場合忘れることがある)。
Akira Kakuto への返信

Re: TEXMFLOCAL とカスタマイズ用 texmf.cnf の関係

- 匿 名 の投稿
ありがとうございます。

以下を行う事で設定きました。

$ sudo rm -rf /usr/local/share/texmf/web2c/texmf.cnf
$ sudoedit /etc/texmf/texmf.d/90my-command-list.cnf
$ cat /etc/texmf/texmf.d/90my-command-list.cnf
shell_escape_commands = \
bibtex,bibtex8,bibtexu,upbibtex,biber,\
kpsewhich,\
makeindex,mendex,texindy,\
mpost,upmpost,\
repstopdf,epspdf,extractbb
$ sudo update-texmf

TEXMFLOCAL は結局なんだったか分かりませんでしたが。。。