
論文のタイトルページを作成しようとしていたときに、 の動作を理解していないことに気付きました\\
。次の MWE を考えてみましょう。
\documentclass{memoir}
\begin{document}
\begin{center}
{\Huge\bfseries%
Eat fresh tires to\\[0.25\baselineskip]
Get Ready to the Ultimate\\[0.25\baselineskip]
Victory Against the\\[0.25\baselineskip]
Dragons
}% Title
\end{center}
\end{document}
最後の行の前に不適切なスペースが生じます。次のいずれかのようです:
{\Huge\bfseries%
Eat fresh tires to\\[0.25\baselineskip]
Get Ready to the Ultimate\\[0.25\baselineskip]
Victory Against the\\[0.5\baselineskip]
Dragons
}% Title
または
{\Huge\bfseries%
Eat fresh tires to\\[0.25\baselineskip]
Get Ready to the Ultimate\\[0.25\baselineskip]
Victory Against the\\[0.25\baselineskip]
Dragons\\
}% Title
回避策として役立ちます。どちらも私にとっては直感的ではありません。
- ここで改行を処理する正しい方法は何ですか (手動で調整された垂直間隔を使用)?
- なぜそんなことが起きるのでしょうか?魚釣りの仕方を教えてください。 なぜ
\\
このような行動をとるのか?それはどこにあるか文書化された?
答え1
以下はトピック別TeX(セクション17.2.1 段落とグループを同時に終了する、p 167):
\par
段落がグループ内に設定されている場合は、段落の終了がグループ内で行われるようにする必要があります。段落の組版に影響を与えるパラメータ、たとえば\leftskip
や は\baselineskip
、段落が終了したときにのみ考慮されます。したがって、段落を... last words.}\par
グループ内の値ではなく、グループ外の値が優先されるようになります。
段落を終わらせるより良い方法は
... last words.\par}
または
... last words.\medskip}
2 番目の例では、垂直コマンド
\medskip
によって\par
トークンが挿入されます。
このことから、グループが終了する前に段落を終わらせるべきであることは明らかです。しかし、center
それ自体がグループを形成するので、
\begin{center}
\Huge\bfseries%
Eat fresh tires to\\[0.25\baselineskip]
Get Ready to the Ultimate\\[0.25\baselineskip]
Victory Against the\\[0.25\baselineskip]
Dragons
\end{center}
グループ/\par
問題を回避します。
もう一つの認識すべきことは、center
環境が仕事のやり方を再定義するということです\\
。以下はlatex.ltx
(どれのmemoir
そのまま使用) - いくつかコメントを追加しました:
\message{center,}
\def\@centercr{\ifhmode \unskip\else \@nolnerr\fi
\par\@ifstar{\nobreak\@xcentercr}\@xcentercr}% \@centercr is \par (with more stuff)
\def\@xcentercr{\addvspace{-\parskip}\@ifnextchar
[\@icentercr\ignorespaces}
\def\@icentercr[#1]{\vskip #1\ignorespaces}
\def\center{\trivlist \centering\item\relax}% \begin{center}
\def\endcenter{\endtrivlist}% \end{center}
\def\centering{% Called when using \begin{center}
\let\\\@centercr% \\ is redefined to be \@centercr
\rightskip\@flushglue\leftskip\@flushglue
\parindent\z@\parfillskip\z@skip}
\\
はcenter
に似ていることは明らかであり\par
、あなたが言及した回避策の1つが生じます。
{
...
Dragons\\
}% Title
答え2
{..}
環境の内部は使用しないでくださいcenter
。すでにローカルになっています。そして、環境\par
の最後に適切なものが表示されますcenter
(環境自体によって実行されます)。
\documentclass{memoir}
\begin{document}
\begin{center}
\Huge\bfseries%
Eat fresh tires to\\[0.25\baselineskip]
Get Ready to the Ultimate\\[0.25\baselineskip]
Victory Against the\\[0.25\baselineskip]
Dragons
\end{center}
default font size and shape
\end{document}
答え3
他の全員がすでに明白な正解を出したので、グループは で終了する必要があります\par
。
しかし、ベースラインを均一に開くことも望まれるため、例は簡略化できます。
\documentclass{memoir}
\begin{document}
\begin{center}
{\Huge\bfseries
\baselineskip=1.25\baselineskip
Eat fresh tires to\\
Get Ready to the Ultimate\\
Victory Against the\\
Dragons
\par
}% Title
\end{center}
\end{document}
答え4
これは、環境内の段落が終了していないためです。次の(同等の)解決策のいずれかが直感的にわかることを願っています。
\documentclass{memoir}
\begin{document}
\begin{center}
{\Huge\bfseries%
Eat fresh tires to\\[0.25\baselineskip]
Get Ready to the Ultimate\\[0.25\baselineskip]
Victory Against the\\[0.25\baselineskip]
Dragons
}% Title
\end{center}
\begin{center}
{\Huge\bfseries%
Eat fresh tires to\\[0.25\baselineskip]
Get Ready to the Ultimate\\[0.25\baselineskip]
Victory Against the\\[0.25\baselineskip]
Dragons\par
}% Title
\end{center}