* よくある質問 [#f7a28a02]

// [[ArchiveQandA]] という項目名がわかりにくいので,ページ名を変更したようです.

このページでは,[[TeX Forum:http://oku.edu.mie-u.ac.jp/tex/]] や [[TeX Q & A>qa:index]] で話題になった,あるいは頻繁に尋ねられる事柄をまとめます.

// FAQ らしく,いい感じにまとめたい.

----
#contents
----


**「美文書作成入門」付録の DVD からの TeX システムのインストールについて [#z7fae5b3]
インストールが失敗するなどの問題が起こる場合は,''まずサポートページを見ましょう''.

-[[改訂第7版:http://okumuralab.org/bibun7/]]
-[[改訂第6版:http://oku.edu.mie-u.ac.jp/~okumura/bibun6/]]

第7版については,Windows でのインストールで一部のウイルス対策ソフトが Windows 用インストーラをマルウェアと誤認識するようです.
この場合は,[[サポートページの「ウイルス対策ソフトによる誤検出」:http://okumuralab.org/bibun7/#virus]]を読んで下さい.

Mac で macOS Sierra に ISO イメージからインストールする場合は,[[サポートページの「macOS SierraでダウンロードしたISOイメージからインストールする際のご注意」:http://okumuralab.org/bibun7/#sierra]]を参照してください.


**[[TeXworks]] などの統合環境でタイプセットをすると,“! LaTeX Error: This file needs format `pLaTeX2e' but this is `LaTeX2e'.” となって日本語が出ない [#cb7a8a28]

これは [[jsarticle>jsclasses]] などの (u)pLaTeX 専用のクラスファイルで作成したソースを (u)platex 以外で処理しようとすると出るエラーです.
大抵の場合,お使いの統合環境のデフォルト設定で pdflatex(日本語非対応)を使うようになっていることが原因です.
(u)platex を使う設定を追加する必要があります.

例えば,TeXworks での設定方法は [[TeXworks/設定]] にあります.
なお,[[TeX Live]] 2016 以降や [[W32TeX]] や「[[[改訂第7版] LaTeX2e 美文書作成入門:http://okumuralab.org/bibun7/]]」の付録DVDに収録されている TeXworks ではこの設定は既になされているので,「タイプセットの方法」として「pLaTeX (ptex2pdf)」が選択されていれば正しく動くはずです.

ただし,インストール時のトラブルにより「pLaTeX (ptex2pdf)」が設定されていないことがあります.
その際は [[TeXworks/設定]] の内容に従い,自分で改めて設定してください.
(「Windows のユーザ名が日本語などの全角文字を含む場合」にこのようなエラーが発生することが知られています.)

** upLaTeX で “! LaTeX Error: Encoding scheme `JY1' unknown.” と出る [#w8a3a1ac]

upLaTeX では jarticle などの pLaTeX 標準のクラスファイルは使えません.代わりに接頭辞 u をつけたクラスファイル(ujarticle など)を使って下さい.

もしくは,統合環境で意図せず upLaTeX を使う設定に変更してしまった場合は,pLaTeX を使うように戻してください.

** upLaTeX で “! Class jsarticle Error: You are running upLaTeX.” と出る [#p2c0bcc3]

jsarticle などはそのままでは upLaTeX で使うことができません.続いて出ている
 (jsarticle)              Please use pLaTeX instead, or add 'uplatex' to
 (jsarticle)              the class option list.
という指示に従って,クラスオプションに uplatex を追加して下さい.
 \documentclass[uplatex]{jsarticle}

** “dvipdfmx:fatal: Unable to open "xxx.pdf".” と出て PDF ファイルが出力されない [#t48fbd69]

これは出力しようとしている PDF ファイルへの書き込みができないときに dvipdfmx が表示するエラーです.
“Output file removed.” とも表示されますが,実際には削除されません(削除もできないので).

最も多い原因は,出力しようとしている PDF ファイルを Adobe Acrobat で開いたまま dvipdfmx を実行しているというものです.
Windows 版の Acrobat は開いているファイルをロックして書き込みできなくしてしまうため,上のようなエラーが出ることになります.
Acrobat を終了してからもう一度試してみれば,問題なく出力できることでしょう.

このように,PDF の出力結果を見ながら LaTeX の原稿を編集するには Acrobat は向いていないので,代わりに [[SumatraPDF]], [[TeXworks]], [[TeXstudio]] など,ロックしないビューワを用いるのがおすすめです.

** jsarticle で papersize オプションを指定すると “! Package keyval Error: No value specified for papersize.” と出る [#zdd0e466]

例えば,jsarticle で用紙サイズを B5 にし,かつ余白を2cmずつとりたいとします.dvipdfmx で PDF を出力するときに用紙サイズ設定を自動で反映させるためにはクラスオプションに papersize をつければよく,また余白の設定をするには geometry パッケージを使うのが手軽なので,次のような記述を冒頭にすればよいのでは,ということになります.
 \documentclass[b5paper,papersize]{jsarticle}
 \usepackage[margin=2cm]{geometry}
 ...
ところが,実際にこのように記述すると,
 ! Package keyval Error: No value specified for papersize.
というエラーが出ます.keyval パッケージなんて使っていないのに,一体何が起こっているのだ! となるわけです.これは geometry パッケージも papersize={<width>,<height>} という(keyval パッケージを用いて定義された)オプションを持っており,\documentclass で指定したオプションがグローバルオプションとして geometry にも値なしで渡されてしまうためにエラーとなっているのです.一つの解決策は,geometry にも papersize と同様の機能が備わっていることを利用して,用紙サイズの設定も geometry で行ってしまうことです.
 \documentclass{jsarticle}
 \usepackage[b5j,margin=2cm]{geometry}
 ...

ところで,「グローバルオプションで geometry にも b5paper が渡されるのだから,単に papersize オプションを外すだけでよいのではないか」と思われるかもしれません.確かに a5paper などの場合はそれでよいのですが,b5paper の場合には落とし穴があります.
(次の項目に続く)

** geometry パッケージによる用紙サイズや余白の設定が意図通りにならない [#x2fe151a]

よく陥りがちな罠について書いておきます.

-b5paper は geometry では ISO の B5 を意味するため,JIS の B5 を指定するためには b5j とする必要があります.
-jsarticle との併用で文字サイズも変更したい場合は,jsarticle が \mag という拡大縮小機能を利用している影響を防ぐために,truedimen オプションを geometry に合わせて渡す必要があります.余白などの寸法の指定時にも,cm や mm の代わりに truecm, truemm を使います.

 \documentclass[11pt]{jsarticle}
 \usepackage[b5j,truedimen,margin=2truecm]{geometry}
 ...

次も参考にしてください.
-[[B5用紙サイズについて:https://oku.edu.mie-u.ac.jp/tex/mod/forum/discuss.php?d=1437#p8039]]
-[[LaTeX の「アレなデフォルト」 傾向と対策 ― その8:用紙サイズの扱いがアレ:https://qiita.com/zr_tex8r/items/297154ca924749e62471#%E3%81%9D%E3%81%AE8%E7%94%A8%E7%B4%99%E3%82%B5%E3%82%A4%E3%82%BA%E3%81%AE%E6%89%B1%E3%81%84%E3%81%8C%E3%82%A2%E3%83%AC]]

** TeX Live の (u)pLaTeX + dvipdfmx で画像が取り込めない [#aa7220cc]

まず,
 ! LaTeX Error: Cannot determine size of graphic in xxx.pdf (no BoundingBox).
などとエラーメッセージが出る場合は,プリアンブルの [[graphicx]] のパッケージ読み込みで
 \usepackage[dvipdfmx]{graphicx}
と dvipdfmx オプションがついていることを確認して下さい.この状態で画像を取り込もうとしても,
 runpopen command not allowed: extractbb

 ! LaTeX Error: Cannot run pipe command. Try --shell-escape
 (--enable-pipes in MikTeX) option.
と出てうまくいかないことがあります.これは画像に対応する「枠」(Bounding Box) の情報を取得・出力するためのコマンド extractbb が実行できないからです.texmf.cnf に
 shell_escape_commands = \
 bibtex,bibtex8,\
 kpsewhich,\
 makeindex,\
 repstopdf,epspdf,extractbb
と記述すると,extractbb が自動で実行され,画像が取り込めるようになります.なお,この設定は TeX Live 2015 以降では不要になりました.

**PDF を取り込んだファイルのタイプセット時に “** WARNING ** Streams with DecodeParams not supported.” というアラートが出て PDF を取りこめない [#m90b3097]

[[TeX Live]] 2015 以降および最新の [[W32TeX]] では修正されています.
古いシステムを使用していたり [[[改訂第6版] LaTeX2e 美文書作成入門:http://oku.edu.mie-u.ac.jp/~okumura/bibun6/]] からインストールしている場合に,このエラーが生じる可能性があります.

原因は,一部の PDF と 以前の dvipdfmx / extractbb に互換性がないことです.
-[[dvipdfmx で画像する時に色々とアレな話:http://d.hatena.ne.jp/zrbabbler/20140814/1408040710]]
-図の挿入について [[forum:1588]]

対策は,PDF を作り直して DecodeParams を含まない PDF を作るか,最新の TeX システムをインストールしてください.

DecodeParams を含まない PDF を作るには,以下のどれかを試してください.
- いったん [[pdfcrop]] を通す(pdfTeX は既に DecodeParams に対応していて,出力する PDF には DecodeParams を含まない)
- CubePDF (Windows) などのソフトを用いて,pdf のバージョンを 1.4 以下にする
- Adobe 社製のソフトやプラグインを用いずに,ファイルを「PDF として保存」する


**ヘルプドキュメントの探し方 [#bdcc8e5a]
([[qa:53707]], [[qa:53708]], [[qa:55521]] など)
-検索サイトで,パッケージ名やコマンド名で検索する
-マクロやパッケージ関わることであれば,[[CTAN]] ([[CTAN: Search:https://www.ctan.org/search/]]) でパッケージ名をキーに探す
-[[TeX Live]] または [[W32TeX]] であれば texdoc -l -s <パッケージ名> と打つ → [[Texdoc]]~
(例) texdoc -l -s hyperref
--TeX Live には [[texdoctk:https://ctan.org/pkg/texdoctk]] というPerl/Tkを用いたGUIのドキュメント検索ソフトがあります.
-[[MiKTeX]] であれば texdoc -l <パッケージ名> と打つ~
(例) texdoc -l hyperref
-TeXworks など由来のはっきりしているソフトウェアに関するヘルプは,それぞれのソフトウェアのヘルプをまず見る.


**TeX, LaTeX のエラーメッセージ [#s54a975c]
//-''! TeX capacity exceeded, sorry ...''([[qa:32844]], [[qa:32596]]など)
// Q&A で良く出るものはここに書いたほうが良い?

TeX のエンジンレベルのエラーについては [[TeX のエラーメッセージ]]にまとめてあります.

LaTeX のエラー・警告については

-[[LaTeX のエラーメッセージ]]
-[[LaTeX の警告メッセージ]]

の各々にまとめてあります.エラーや警告は生じないが,深刻な問題があるものについては

-[[LaTeX コマンドの誤用例]]

が参考になります.


**TeXworks のエラーメッセージ [#g1eb4223]

エラーが発生した場合は,エラーメッセージをよく読んで対処してください.よく分からない場合は [[TeX Forum:http://oku.edu.mie-u.ac.jp/tex/]] や [[TeXworks#不具合>TeXworks#v0f00822]] に同様の事例がないか探してみてください.


**TeXShop でのトラブル [#k1407e21]

macOS で [[TeXShop]] を使っていて問題が生じた場合は,まずは [[TeXShop FAQ]] を参照してください.


**TeX2img でのトラブル [#c2cc45e1]

Windows/macOS で [[TeX2img]] を使っていて問題が生じた場合は,まずは [[TeX2img FAQ]] を参照してください.


**dviout や xdvi でのトラブル [#k7a3f154]

[[dviout]] や [[xdvi]] で画像が表示されないなどの問題が発生する場合は ''dviout や xdvi を使用せず,PDF ファイルで出力して dviout のかわりに [[SumatraPDF]], [[TeXworks]], [[TeXstudio]],xdvi の代わりに [[Evince]], [[Okular]], [[zathura]], [[qpdfview]], [[TeXworks]], [[TeXstudio]] でプレビューする''方法があります.[[ptex2pdf]] を使用すれば TeX ファイルから直接 PDF ファイルを出力できます.


** 複数ページの PDF ファイルの任意のページを取り込みたい [#g4eeb4af]

[[pdfTeX]] や [[LuaTeX]] のような PDF ファイルを直接扱えるエンジンでは,単に
 \includegraphics[page=3]{sample.pdf}
のように page オプションでどのページを取り込むかを指定すればよいです.
(u)pLaTeX + dvipdfmx の場合には,TeX Live 2014 以前では extractbb によるバウンディングボックスの取得が,取り込み対象の PDF の2ページ目以降には対応していないという問題がありました.
-PDFファイルの任意のページの画像を使いたい [[forum:641]]

この問題は,TeX Live 2015 以降や W32TeX では解決されており,上記のように page オプションで指定するだけで取り込めるようになっています.
詳細は次のページを参照して下さい.

-[[dvipdfmx で複数ページPDF/AIファイルを \includegraphics する - TeX Alchemist Online:http://doratex.hatenablog.jp/entry/20141203/1417555607]]
-[[【改訂版】dvipdfmx で複数ページPDF/AIファイルを \includegraphics する - TeX Alchemist Online:http://doratex.hatenablog.jp/entry/20141204/1417625159]]


**細かい表記に関すること [#l951f950]

[[表記の哲学]]にまとめてあります.


//-[[TeX と「TeX 以外」]]


**Tips [#de167df2]

-自分自身のファイル名の取得
--\jobname ([[qa:32943]], [[qa:17412]], [[qa:11872]]).
-余白に行番号
--[[CTAN:macros/latex/contrib/lineno/]] ([[qa:33113]], ...)
-通しノンブルを振る・最後のページ番号を取得する
--通しノンブルを振る (印刷所持込用?) ([[qa:9645]], [[qa:9677]], [[qa:10561]]).
--章ごとのページ/章の総ページ数 ([[qa:45859]], [[qa:45860]], [[qa:45870]]).
--lastpage.sty のカスタマイズは hyperref.sty と共存しにくい ([[qa:46490]])
//([[qa:46483]], [[qa:46486]], [[qa:46488]], [[qa:46489]], [[qa:46490]],
//[[qa:46494]], [[qa:46495]], [[qa:46502]], [[qa:46508]], [[qa:46510]]).
////// 原題: hyperref.sty と lastpage.sty は競合する
// // その件は,hyperref,lastpage の両パッケージが競合しているというよりも
// // むしろ,“hyperref 自身が lastpage と共存できるように細工しているがゆえに,
// // lastpage の内部処理に手を入れるようなユーザ自身によるカスタマイズが
// // hyperref 使用時にはうまくいかない”という話のようです.
////// 詳しい解説をありがとうございます.内容は理解しているつもりでしたが,
////// 正しく 1 行紹介するのがむずかしいのと,
////// トラブルに陥った人が後から検索するのにどういうタイトルがいいか,
////// という兼ね合いがうまくなかったでしょうか.ちょっと変えてみました.
////// 細かいことを気にすると,断定形で書きにくくなるのがくせものです・・・.
-\label{}, \ref{} を目に見えるように張る
--[[CTAN:macros/latex/required/tools/showkeys.dtx]] ([[qa:19427]], ...)
-ハイフネーションの禁止
--\hyphenpenalty=10000 \exhyphenpenalty=10000 と設定
--\lefthyphenmin=100 \righthyphenmin=100 と設定
// ほかにもありますが,この 2 通りが手軽でしょう.
-二段組にしたときに最終ページの左右カラムを揃える
--[[balance.sty:http://www.biwako.shiga-u.ac.jp/sensei/kumazawa/tex/balance.html]],[[CTAN:macros/latex/contrib/preprint/]]内 ([[qa:32276]]...)
-[[TeXが苦手とする処理]]%%(下線,飾り枠など)%%
-行列の転置の書き方
--[[qa:2476]]からのスレッド:[[qa:2478]], [[qa:2479]], [[qa:2480]], [[qa:2490]], [[qa:2496]], [[qa:2498]], [[qa:2502]], [[qa:2503]], [[qa:2568]], [[qa:2569]], [[qa:2571]], [[qa:2572]], [[qa:2573]], [[qa:2579]], [[qa:2583]], [[qa:2584]], [[qa:2585]]
--上のスレッドで出てきたマクロの使い方の例:[[qa:12045]]
--大型演算子以外に使う \sideset:[[qa:2511]]
--[[qa:43655]] に対する回答:[[qa:43656]], [[qa:43657]], [[qa:43658]], [[qa:43667]], [[qa:43668]]
-「アンバランスな括弧」[[qa:44132]],[[qa:49364]](およびそれらの元質問)
// // もっとも,「仕事なのでやむをえない」というのでもなければ,適宜
// // 斜線を用いて書き直すのが妥当.下記のサンプル文書を検討のこと.
// \documentclass{article}
// \usepackage{amsmath}
//
// \makeatletter
// \def\addshiftedparentheses{\addshifteddelimiters()}
// \def\addshiftedbraces{\addshifteddelimiters\{\}}
// \def\addshiftedbrackets{\addshifteddelimiters[]}
// \def\addshifteddelimiters#1#2#3{%
//    \@ifnextchar^%
//       {\@addshifteddelimiters@u{{#1}{#2}{#3}}}%
//       {\@addshifteddelimiters@n{{#1}{#2}{#3}}}}
// \def\@addshifteddelimiters@u#1^#2{%
//    \@ifnextchar_%
//       {\@addshifteddelimiters@ul{#1{#2}}}%
//       {\@@addshifteddelimiters{#1{#2}{}}}}
// \def\@addshifteddelimiters@ul#1_#2{\@@addshifteddelimiters{#1{#2}}}
// \def\@addshifteddelimiters@n#1{%
//    \@ifnextchar_%
//       {\@addshifteddelimiters@l{#1}}%
//       {\@@addshifteddelimiters{#1{}{}}}}
// \def\@addshifteddelimiters@l#1_#2{%
//    \@ifnextchar^%
//       {\@addshifteddelimiters@lu{#1}{#2}}%
//       {\@@addshifteddelimiters{#1{}{#2}}}}
// \def\@addshifteddelimiters@lu#1#2^#3{\@@addshifteddelimiters{#1{#3}{#2}}}
// \def\@@addshifteddelimiters{\mathpalette\@@@addshifteddelimiters}
// \def\@@@addshifteddelimiters#1#2{\@@@@addshifteddelimiters#1#2}
// \def\@@@@addshifteddelimiters#1#2#3#4#5#6{%
//   \mathinner{%
//      \setbox\z@\hbox{%
//         \m@th
//         $%
//         \setbox\z@\hbox{$#1#4$}%
//         \dimen@\ht\z@
//         \setbox\z@\hbox{$\vcenter{\box\z@}$}%
//         \advance\dimen@-\ht\z@
//         \left#2 \box\z@ \right#3%
//         \expandafter$\expandafter}\expandafter\dimen@\the\dimen@\relax
//      \def\@tempa{#5}\def\@tempb{#6}%
//      \ifx\@tempa\@empty
//         \ifx\@tempb\@empty \let\@tempa\@empty
//         \else              \def\@tempa{_{#6}}%
//         \fi
//      \else
//         \ifx\@tempb\@empty \def\@tempa{^{#5}}%
//         \else              \def\@tempa{_{#6}^{#5}}%
//         \fi
//      \fi
//      \raise\dimen@\box\z@\@tempa}}
// \makeatother
//
// \begin{document}
// Though it is possible to produce a formula like
// \[
//     1
//   + \addshiftedparentheses{\frac{x}{x - \dfrac{1}{2}}}
//   + \addshiftedparentheses{\frac{x - \dfrac{1}{2}}{x}},
// \]
// it would be better to choose ``traditional'' expressions such as
// \[
//     1
//   + \left( \frac{x}{x - 1/2} \right)
//   + \left( \frac{x - 1/2}{x} \right),
// \]
// or
// \[
//     1
//   + \left( \frac{x}{x - \frac{1}{2}} \right)
//   + \left( \frac{x - \frac{1}{2}}{x} \right).
// \]
// \end{document}

//**コメント [#adc20c89]
//-インストール先がCドライブとは限らないので(インストールディレクトリ)\dvioutとしたのですが…。 -- 若雲 &new{2004-12-05 (日) 17:35:30};
//-↑修正してみました。 -- トニイ &new{2005-03-18 (金) 07:20:18};
//- ebbをPDF 1.4に対応させるには -- tacro &new{2006-03-04 (土) 20:26:14};
//- ↑間違いです。すみません。 -- tacro &new{2006-03-04 (土) 20:27:24};
//- Wikiなので編集も削除も可能です。前の書き込みは間違いだったそうなので,コメントを付けて表示から消しました。 -- トニイ &new{2006-03-06 (月) 17:39:05};
//
//#comment