【論文つらい】あっ、はみ出ちゃった… ってときに

More than 5 years have passed since last update.


LaTeXで余白を切り詰める

1ページやら2ページやらの厳しいページ制限があるようなレジュメをTeXで書いていると

「あと3行だけ減らせたら勝てるのにッ…!」

みたいなことがよくあると思います.

そんな時に出来る悪あがきを列挙していきます.


注意

おそらくどれもTeX的にはあまり良くないやり方なので,まずコンテンツ量を調整する努力をしましょう.

どうしても削り切れない時や 正直どうでもいいような超低プライオリティな文書を作るときにこの記事に書いてるものを試してみるといいです:D


いろいろなやりかた

いずれもプリアンブル(documentclass\begin{document}の間)に記述する.


行間を詰める

CSSでいうところのline-height

効果は大きいが詰め過ぎると見た目に苦しくなるので注意.

\def\baselinestretch{0.85}


図の前後の余白を詰める

どこが詰められるかはコメントの通り.

図が多い場合に効果を発揮する.

% 図と図の間のスペース

\setlength\floatsep{2truemm}
% 本文と図の間のスペース
\setlength\textfloatsep{2truemm}
% 本文中の図のスペース
\setlength\intextsep{0pt}
% 図とキャプションの間のスペース
\setlength\abovecaptionskip{1truemm}

\setlength\addlengthに変更したら"デフォルトの余白からx mm長くする(短くする)",といった指定も可能になる.


section前後の余白を詰める

jsarticle限定?)

jsarticle.clsにあるsectionコマンドを再定義して{0.6\Cvs}{0.4\Cvs}の数字を調整する(最初が上マージンで2つめが下マージン?).

\makeatletter

% sectionの下マージンを小さく
\renewcommand{\section}{%
\@startsection{section}{1}{\z@}%
{0.4\Cvs}{0.1\Cvs}%
{\normalfont\large\headfont\raggedright}}
\makeatother


タイトルの余白を詰める

jsarticle限定?)

おなじくjsarticle.clsからmaketitle出力部分をコピペしてきて再定義する.

\vskipのあとの数字を弄ったり消したりしたらいいんじゃないかな(てきとう).

\makeatletter

\def\@maketitle{%
\newpage\null
\begin{center}%
\let\footnote\thanks
{\LARGE \@title \par}%
\vskip 1.0em
{\large
\lineskip .5em
\begin{tabular}[t]{c}%
\@author
\end{tabular}\par}%
\vskip 1em
{\large \@date}%
\end{center}%
\par\vskip 0.5em
\ifvoid\@abstractbox\else\centerline{\box\@abstractbox}\vskip1.5em\fi
}
\makeatother


参考文献をちっちゃくする(4/30 22:20追記)

jsarticle限定?)

これも同様にjsarticle.clsからthebibliography環境をコピペしてきて再定義する.

(参考: BioEoS::環境解析学研究室:: - 参考文献(thebibliography)の文字サイズ,行間の変更

\makeatletter

\renewenvironment{thebibliography}[1]{%
\global\let\presectionname\relax
\global\let\postsectionname\relax
\section*{\refname}\@mkboth{\refname}{\refname}%
\list{\@biblabel{\@arabic\c@enumiv}}%
{\settowidth\labelwidth{\@biblabel{#1}}%
\leftmargin\labelwidth
\advance\leftmargin\labelsep
% 文字サイズ?
\setlength\baselineskip{11pt}
% アイテム間のマージン
\setlength\itemsep{0.4zh}
\@openbib@code
\usecounter{enumiv}%
\let\p@enumiv\@empty
\renewcommand\theenumiv{\@arabic\c@enumiv}}%
\sloppy
\clubpenalty4000
\@clubpenalty\clubpenalty
\widowpenalty4000%
\sfcode`\.\@m}
{\def\@noitemerr
{\@latex@warning{Empty `thebibliography' environment}}%
\endlist}
\makeatother


さいごに

これでみんなKOOLなレジュメをつくってモテモテだ!!!!! [要出典]