#やりたいこと
MacのTeXShopで図の多い文章を作成する際に、以下の2つを解決してPDFの形で出力したい。
- Microsoft Wordの感覚で図や表を その場所 に配置できない(LaTeXは図表を勝手に配置してしまう)
- 文章にたくさん図を入れてしまって、Too Many unprocessed floatというエラーが出てしまったので何とかしたい
#背景
LaTeXで論文を作成し始めたところ、図や表がLaTeXの仕様上任意の場所に配置されてしまい、思った通りのレイアウトが得られなかったり、PDFにコンパイルをした際にエラーがたくさん出てしまったので、対策を調べながら試行錯誤した結果、以下の2つのコマンドが劇的に効いたので、備忘録として残します。
- \usepackage{here}と[H]オプション : 図表を文中のその場所に配置
- \clearpage : 出力していない図表をその場所に出力
#動作環境
macOS Mojave 10.14.6
TeXShop 4.44
#手法
##図をその場所に配置する
図を配置するにはプリアンブルの部分に以下のコマンドを配置して、graphixパッケージを使用することを宣言します。
私の環境ではdvipdfmxオプションでないとエラーが出てしまいました。
\usepackage[dvipdfmx]{graphicx}
本文は以下のコマンドで図を配置できます。
\begin{figure}[位置]
\includegraphics[オプション]{ファイル名}
\end{figure}
位置に以下の表にあるhtbpを指定すると、LaTeXが適切と判断した部分に配置してくれます。
ただ、このパッケージだけだと、位置指定が行えるものの、あくまでもLaTeXが適切と判断した部分に配置してしまうようで、図の数や文書のボリュームによっては思い通りにならないこともあります。
位置 | 出力先 |
---|---|
h | 記述した場所に出力 |
t | ページの上端に出力 |
b | ページの下端に出力 |
p | 表専用のページを用意して出力 |
私の作成している論文では、図が多いせいか、\newpageコマンドと\sectionコマンドで次の章に設定しても、次の章に前の章の図が一気に出力されてしまうことが多く、とてもフラストレーションが溜まっていました。
そこで、プリアンブル部分にもう一つ以下のhereパッケージも追加しました。
\usepackage{here}
このパッケージは配置のオプションに[H]を指定することで、文章のその場所にその図表を配置してくれます。
\begin{figure}[H]
\includegraphics[オプション]{ファイル名}
\end{figure}
##レイアウトのエラーをクリアする
思った通りに配置された図表も、いざPDFにコンパイルするとエラーが出てきます。
多少のエラーであれば無視して先に進められれるのですが、そのエラーが膨大になると、"Too Many unprocessed float"というエラーが出て、ついに処理が止まってしまい、PDFファイルが作成されなくなってしまいます。
これは図表の位置が定まらず、それが規定量を超えることで止まってしまうようです。
このエラーを解決する方法としては、参考サイトにある通り、適度に(私はセクションごとに入れていますが)\clearpage コマンドを配置することで解決しました。
\clearpage
#謝辞
参考サイトのおかげで、ストレスなくLaTeXで思い通りのレイアウトで論文が作成できるようになりました。
参考にさせていただいたサイトの方にお礼を申し上げます。
#参考サイト
Qiita - TeXで好きな位置に図を配置する
LaTeXコマンド集
LaTeX Error:Too Many unprocessed floatの解決法