
問題の説明
TeXは垂直方向のスペースを調整する2 列のドキュメントでは、\titlespacing を使用して伸縮が発生しないように指定しているにもかかわらず、タイトルスペースが拡大または縮小されます。下の図の (a) に、簡単な視覚化を示します。
たとえば を指定しても\titlespacing{\section}{0pt}{**12pt**}{**0pt**}
、見出し間の間隔を広げる垂直レイアウトがあるようですが、これは、少なくとも私が満たさなければならない特定の会議スタイルでは受け入れられません。
質問
この「垂直方向の調整」をなくすことはできますか? 考えられる説明があれば、ぜひ教えてください。この動作を再現する私の MWE は次のとおりです (注: xelatex を使用していますが、latex を使用しても同じ動作になります)。
\documentclass[a4paper]{article}
\makeatletter
\usepackage{multicol}
% ----important----
\usepackage[noindentafter]{titlesec}
\titlespacing{\section}{0pt}{12pt}{0pt}
\titlespacing{\subsection}{0pt}{10pt}{0pt}
\titlespacing{\subsubsection}{0pt}{3pt}{0pt}
% -----------------
\makeatother
\begin{document}
\title{Foo Bar 2013: A personal journey through a typographic nightmare.}
\author{Waldorf A. and Stattler B.}
\maketitle
\begin{abstract}
this would in fact be longer, thus we make a space here
\vspace{10cm}
\end{abstract}
\begin{multicols}{2}
\section*{first order heading}
All that is gold does not glitter. Not all those who wander are lost. The old that is
strong does not wither.
\section*{first order heading}
\subsection*{second order heading}
Deep roots are not reached by the frost.
\section*{first order heading}
\subsection*{second order heading}
From the ashes a fire shall be woken. A light from the shadows shall spring. Renewed
shall be blade that was broken. The crownless again shall be king.
\section*{first order heading}
\subsection*{second order heading}
\subsubsection*{third order heading}
Not all that have fallen are vanquished. A king may yet be without crown. A blade
that was broken be brandished.
\end{multicols}
\end{document}
参考文献
このトピックに関する質問は見たことがありますが、実際に役立つものはありませんでした。
グルーストレッチとはは、「あらゆる接着剤は、固定部分、伸縮部分、および収縮部分で構成されています。これらの各部分はゼロにすることができます... によって表現されます
<fixed part> plus <stretchable part> minus <shrinkable part>
。それを試しましたが、うまくいきませんでした - 問題は解決しません。どこかで読んだのですが (恥ずかしながら、どこだったか正確には思い出せません!)、たとえば -0 を「後のスペース」として指定してみる必要がある、つまり と書いて
\titlespacing{\section}{0pt}{12pt}{-0}
ありました。 運が悪かったようです。
答え1
Steven B. Segletes 氏と上記のコメントでの彼の指摘のおかげで、私は方法を見つけたので、ここでそれを共有したいと思います。
\setlength{\parskip}{0pt}
そしておそらく
\setlength{\textfloatsep}{0pt}
意図した(そしておそらく退屈な)レイアウトが得られました。
ありがとう!