文書の過去の版を表示しています。
Latex関係のメモ
RmarkdownからLatexを経由してPDFを作成する際に必要でしらべたLatexのTips。本格的にちゃんと勉強したいが。。
主に困ったのが、余白関係。美しく組版するという目的からか、標準ではかなり余白が多めで図表を詰め込んだりできない。それらを解消する方法をまとめておく。スマートな方法とは言えない。また、直接Latexを書くわけではなく、Rmarkdownから制御しなければならないため、細かい指示ができない場合もあり、もどかしい。。
改ページ
# とにかく改ページ。 \newpage # 未配置の図表を出力して改ページ \clearpage
余白
図と図の間などの余白。どれが効いているのかを調べる方法がよくわからない。色々調整してみて、反応するものをみて予想をつけた。
# 図と図の間 \setlength\floatsep{0pt} # 本文と図の間 \setlength\textfloatsep{0pt} # 本文の図 \setlength\intextsep{0pt} # 図とキャプションの間 \setlength\abovecaptionskip{0pt}
Rmarkdown側のプリアンプルで定義すると、全ての図表に影響してまう。特定の場所に設定するには、
{ \setlength\abovecaptionskip{0pt} 図1 図2 }
のように中カッコでくくる必要があるが、Rmarkdownの本文中で中カッコを書いても、途中でエスケープされて、Latex的には文字としての中カッコがPDFに出力される。苦肉の策としてマクロを利用する方法を思いついた。
\newcommand{\setmargin}[1]{{\setlength\intextsep{4mm}#1}} \setmargin{ 図1 図2 }
こうすると、中カッコが単独で本文中に現れないので、特定範囲の図だけを対象に余白を調整できる。
図表とキャプションの間隔
図や表とキャプションとの間隔を決める。標準ではちょっと広すぎる場合がある。
\usepackage{caption}
\captionsetup[table]{skip=10pt} \captionsetup[figure]{skip=10pt}
1ページあたりの図表の数
図表の余白を小さくしたり図自体を小さくしても、妙に余白ばかり大きくなって1ページあたりに図がつめこめなかったが、Latexでは図の配置は自動的に決められることが原則であるため、そのパラメータにひっかって思うように動かなかった。うまく組み立てれば洗練された文書を作れるが、やはり見た目から逆算することも多い。
主に引っかかっていたと思われる制限は、1ページ当たりのテキストの最小割合や1ページ当たりのfloat数など。これらを調整すると、図表を詰め込むことができる。
# ページ上部に入れられるfloatの数 \setcounter{topnumber}{2} # 2段組みの場合 \setcounter{dbltopnumber}{2} % twocolumn時の⾴上部の最⼤float数 # ページ下部に入れられるfloatの数 \setcounter{bottomnumber}{1} # 1ページの最大float数 \setcounter{totalnumber}{3} # ページ上部のfloatの最大割合 \renewcommand\topfraction{.7} # 2段組みの場合 \renewcommand\dbltopfraction{.7} # ページ下部のfloatの最大割合 \renewcommand\bottomfraction{.3} # 1ページあたりのテキスト部分の最小割合 \renewcommand\textfraction{.2} # floatだけのページの最小割合 \renewcommand\floatpagefraction{.5} # 2段組みの場合 \renewcommand\dblfloatpagefraction{.5}