\\ 내부 센터 환경의 동작

\\ 내부 센터 환경의 동작

내 논문의 제목 페이지를 편집하는 동안 나는 의 동작을 이해하지 못한다는 것을 깨달았습니다 \\. 다음 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 단락과 그룹을 동시에 끝내기, 167페이지):

단락이 그룹에 설정된 경우 \par단락 끝이 그룹 내에서 발생하는지 확인해야 할 수 있습니다. \leftskip및 와 같이 단락의 조판에 영향을 미치는 매개변수는 \baselineskip단락이 완료된 후에만 살펴봅니다. 따라서 다음과 같이 단락을 마무리합니다.

... last words.}\par

그룹 내부의 값 대신 그룹 외부에 널리 사용되는 값이 사용됩니다.

단락을 끝내는 더 좋은 방법은 다음과 같습니다.

... last words.\par}

또는

... last words.\medskip}

두 번째 예에서는 수직 명령으로 \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}

\\in 이 center와 유사하여 \par언급한 해결 방법 중 하나가 발생한다는 것이 분명합니다.

{
  ...
  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}

여기에 이미지 설명을 입력하세요

관련 정보