
다음 코드를 고려해보세요:
\documentclass{article}
\begin{document}
\pagestyle{empty}
\def\contents{%
\parindent = 0pt
\LARGE
\strut
\raise\baselineskip
\vtop
{%
{\Large\smash{Chapter}\par}%
title\par
}%
\par
}
\newbox\tempbox
\loggingoutput
\vspace*{20pt}%
\begingroup
\contents
\endgroup
\clearpage
\vspace*{20pt}%
\setbox\tempbox\vbox
\bgroup
\contents
\egroup
\noindent \box \tempbox
\end{document}
\contents
장 제목은 Chapter
한 줄로 작성되고 장 제목은 아래 줄에 있어야 합니다 .
나는 별표 표시된 장에서 텍스트를 제거하면서도 페이지의 동일한 수직 위치에 장 제목을 유지 \raise\baselineskip\vtop{...}
하기 위해 이 장치를 사용합니다 .Chapter
이 장의 머리글을 출력 페이지에 넣기 전에 상자에 넣어야 할 때까지는 모든 것이 괜찮았습니다. 나는 \vbox
나중에 사용할 수 있도록 단순히 모든 것을 a에 포함시키는 것이 \box
효과가 있을 것이라고 생각했지만, 그렇게 했는지 여기서는 묻지 않을 것입니다. :)
로그는 첫 번째 페이지에 대해 다음을 보여줍니다.
...\glue 20.0
...\glue 0.0
...\glue(\parskip) 0.0 plus 1.0
...\glue(\baselineskip) 0.0
...\hbox(22.0+6.60007)x345.0
두 번째는 다음과 같습니다.
...\glue 20.0
...\glue 0.0
...\glue(\parskip) 0.0 plus 1.0
...\glue(\lineskip) 1.0
...\hbox(22.0+6.60007)x345.0
유일한 차이점은 첫 번째 TeX에서는 \baselineskip
내용 앞에 삽입하고 두 번째에서는 \lineskip
.
왜 그런가요? 그렇지 않으면 어떻게 해야 합니까?
답변1
a를 사용하여 \vbox
참조점이 맨 아래 줄에 있으므로 상자의 높이가 22pt입니다. 이는 이미 tex보다 크므로 이전 노드의 참조점과 추가되는 상자의 참조점 사이의 공간을 \baselineskip
보장할 수 없으므로 대신 삽입합니다. . 대신 a를 사용할 수 있습니다 . 이렇게 하면 처음에 올바른 공간을 얻는 것이 더 쉬워집니다(그리고 이후에는 올바른 공간을 얻는 것이 더 어렵습니다).\baselineskip
\lineskip
\vtop
흠 실제로 여기서 주요 차이점은 첫 번째 경우에는 \baselineskip
큰 글꼴에서 나오므로 딱 맞지만(따라서 0pt로 추가됨) 두 번째 경우에는 큰 글꼴이 상자 안에 있으므로 작은 기준선 건너뛰기를 사용한다는 것입니다. .
\baselineskip (0pt)
당신은 함께 얻을
{\LARGE\noindent \box \tempbox\par}