ユーザ用ツール

サイト用ツール


メモ:latex

文書の過去の版を表示しています。


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}  

見出しの余白

詳細はもう少し調査。見出し、小見出しの上下の余白を調整。

\usepackage[compact]{titlesec}
\titlespacing*{\section}{0pt}{*0}{0pt}
\titlespacing*{\subsection}{0pt}{*0}{0pt}

ページの余白

しばしば見かけるのは、geometryを利用するものだが、Rmarkdownからxelatexを使う場合、geometryがうまく機能せずエラーになる。そこで、以下のようにしてページの余白を調整。意味はもう少し調査。

\setpagelayout * {margin=20mm}

行間

標準のスタイルでは行間もかなり広い。論文や雑誌記事ならよいが、ワープロ的に使うにはちょっと広すぎる。

\renewcommand{\baselinestretch}{0.9}
メモ/latex.1588337041.txt.bz2 · 最終更新: 2020/05/01 21:44 by admin

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki