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なレジュメをつくってモテモテだ!!!!! [要出典]