답변1
\setlength\baselineskip{15pt minus 2pt}
축소는 단위로 지정됩니다. 축소는 2pt이고 최소 크기는 다음과 같습니다 . 무한대 또는 단위 13pt
일 수도 있습니다 fil
. 예를 들어 단축형은 다음과 같습니다.fill
filll
\vss
\vskip 0pt plus 1fil minus 1fil
답변2
예는 다음과 같습니다.
\def\ruleA{\vrule height1pt width45pt depth0pt}
\def\ruleB{\vrule height1pt width30pt depth0pt}
\noindent
\vrule height1pt width100pt depth0pt\par
\hbox to 100pt{\ruleA\hskip 20pt plus 4pt minus 15pt\ruleA} % case 1
\hbox to 100pt{\ruleA\hskip 20pt plus 4pt minus 10pt\ruleA} % case 2
\hbox to 100pt{\ruleA\hskip 20pt plus 4pt minus 3pt \ruleA} % case 3
\hbox to 100pt{\ruleB\hskip 20pt plus 4pt minus 3pt \ruleB} % case 4
\bye
저는 두 가지 규칙(너비 45pt와 30pt)을 정의했습니다. 그리고 너비 100pt의 가로 상자에 룰을 풀로 정리했습니다.
1-3의 경우 두 규칙의 총 너비는 90pt이므로 원래 너비는 20pt이므로 접착제는 10pt로 줄어들어야 합니다.
- 사례 1과 사례 2는 수축률이 각각 15pt, 10pt이므로 그렇게 할 수 있습니다. 하지만
- 사례 3이 아닌 경우 접착제의 최소 너비는 20pt-3pt = 17pt입니다 (그래서 경고가
Overfull \hbox (7.0pt too wide) detected at line 7
발생합니다.)
4번의 경우 글루는 입니다
20pt plus 4pt minus 3pt
. 이는 글루의 최대 너비가 24pt라는 의미는 아닙니다. 실제로 접착제는 긍정적인 신축 성분이 있을 때마다 임의로 멀리 늘어날 수 있습니다. 그리고 스크린샷에서 볼 수 있듯이 마지막 글루의 너비는 100pt-30pt*2 = 40pt입니다(스트레치 양은 20pt > 4pt). 그리고 이 사건은Underfull \hbox (badness 10000)
경고를 줍니다.
답변3
첫 번째 접착제 덩어리는 space 9 stretch 3 shrink 1
이므로 얻을 수 있는 가장 좁은 덩어리는 9 − 1 = 8입니다. (가장 넓은 덩어리가 9 + 3 = 12라고 생각할 수도 있지만 70페이지에서 인용한 부분 바로 다음에 나오는 텍스트에서 다음과 같이 설명합니다. 이는 실제로 사실이 아니며 더 넓어질 수 있습니다.)
너비와 간격을 모두 더하면 5 + 9 + 6 + 9 + 3 + 12 + 8 = 52가 자연 너비가 됩니다. 하지만 축소도 포함하면 5 + (9 − 1) + 6 + (9 − 2) + 3 + (12 − 0) + 8 = 49가 얻을 수 있는 가장 좁은 값이 됩니다.
이것이 52, 8, 49가 계산되는 방식입니다. (다른 숫자는 모자에서 꺼낸 것입니다.)
답변4
아래 코드는 무슨 일이 일어나고 있는지 시각화할 수 있습니다. 접착제를 다른 상자에 상자 세트를 배열하기 위해 확장하거나 축소할 수 있는 스프링으로 생각하는 것이 좋습니다. 아래 다이어그램에서는 공백으로 표시됩니다. 선 너비가 35mm이고 TeX이 문단을 구성할 때 box4
두 번째 줄에 드롭다운되는 것을 볼 수 있습니다. 49mm로 딱 맞습니다. 그림은 표 형식에 상자를 삽입하여 렌더링됩니다. 값을 변경하여 실험해 보세요. 수동으로 계산하려면 모든 접착제를 양수와 음수를 함께 추가하여 신축성 또는 수축성을 얻습니다.
\documentclass{article}
\usepackage{array,xcolor}
\fboxsep=0pt\fboxrule=0pt
\NewDocumentCommand\Fbox{m m}
{
\colorbox{cyan}{\hbox to#1{box$_#2$\strut}}
}
\parindent0pt
\setlength\arraycolsep{0pt}
\long\def\maketable#1{\par\leavevmode
\begin{tabular}{l|@{}p{#1}@{}|@{}}
#1 &\Fbox{14mm}{1}\hskip\skipa
\Fbox{15mm}{2}\hskip\skipb
\Fbox{8mm}{3}\hskip
\skipc \Fbox{8mm}{4}
\end{tabular}
\smallskip
}
% set the skips
\newskip \skipa
\newskip \skipb
\newskip \skipc
\skipa=0mm plus 3mm minus 1mm
\skipb=0mm plus6mm minus 2mm
\skipc=0mm plus0mm minus 0mm
\begin{document}
%make the tables
\maketable{35mm}
\maketable{49mm}
\maketable{52mm}
\maketable{55mm}
\end{document}