를 사용한 텍스트의 2열 부분의 마지막 페이지에서 multicol
페이지 하단에 1열 공지를 넣고 싶고, 열을 구분하는 규칙이 바로 위까지 쭉 확장되도록 하고 싶습니다. 한 열 부분. vfill
외부를 사용하면 multicols
알림이 올바른 위치에 배치되지만 규칙은 실제 다중 열 텍스트까지만 확장됩니다. vfill
내부를 사용해도 multicols
아무런 효과가 없습니다.
다음과 같은 것을 생성하고 싶지만 분명히 수동 \vspace*
명령은 사용하지 않고 싶습니다.
\documentclass{article}
\usepackage{multicol}
\usepackage{lipsum}
\setlength{\columnsep}{0.5in}
\setlength{\columnseprule}{0.5pt}
\begin{document}
\begin{multicols}{2}
\lipsum[1]
\columnbreak
\lipsum[2]
\vspace*{300pt}
\end{multicols}
\centering\Huge\textbf{\textsf{STOP}}
\end{document}
어떤 면에서는 이것은 의 문제와 정반대의 문제이다.동일한 페이지 및 다중 열multicols
질문은 환경 뒤에 오는 것이 같은 페이지에 유지되도록 해야 한다는 점입니다 .
답변1
다음을 사용하여 마지막 페이지에 세로선을 삽입할 수 있습니다.eso-pic
:
\documentclass{article}
\usepackage{multicol,eso-pic,lipsum,xcolor}
\setlength{\columnsep}{0.5in}
\setlength{\columnseprule}{0.5pt}
\begin{document}
\begin{multicols}{2}
\sloppy\lipsum[1-15]
\end{multicols}
\AddToShipoutPictureFG*{%
\AtTextLowerLeft{%
\makebox[0pt][l]{\makebox[\textwidth]{\Huge\bfseries\sffamily STOP}}% Set STOP
% Move to the right of the left text column
\hspace*{.5\dimexpr\textwidth-\columnseprule-2\columnsep}%
% Skip over column sep
\hspace*{\columnsep}%
% Insert vertical rule
\rule[3\baselineskip]{\columnseprule}{\dimexpr\textheight-3\baselineskip}%
}%
}
\end{document}
위의 예는 최종 페이지에 있는 텍스트 블록의 맨 아래부터 \rule
마지막 페이지에 오버레이됩니다 .3\baselineskip
이것을 에 추가할 수 있습니다 \AtEndDocument
. 그러나 여부를 확인하는 테스트는 수행되지 않습니다.멈추다페이지에 맞을지 여부, 열의 기존 텍스트와 오버레이되지 않습니다.
다음 예에서는멈추다내용을 상자( 라고 함) 안에 넣고 이 상자를 마지막 페이지(+ 1 ) \stopbox
에서 수직선이 얼마나 멀리 내려가야 하는지를 측정하는 척도로 사용합니다 .\baselineskip
\documentclass{article}
\usepackage{multicol,eso-pic,lipsum,xcolor}
\setlength{\columnsep}{0.5in}
\setlength{\columnseprule}{0.5pt}
\newsavebox{\stopbox}
\savebox{\stopbox}{%
\begin{tabular}[b]{c}
\Huge\bfseries\sffamily STOP \\
\small\itshape \ldots right here
\end{tabular}
}
\begin{document}
\begin{multicols}{2}
\sloppy\lipsum[1-15]
\end{multicols}
\AddToShipoutPictureFG*{%
\AtTextLowerLeft{%
\makebox[0pt][l]{\makebox[\textwidth]{\usebox{\stopbox}}}% Set STOP
% Move to the right of the left text column
\hspace*{.5\dimexpr\textwidth-\columnseprule-2\columnsep}%
% Skip over column sep
\hspace*{\columnsep}%
% Insert vertical rule
\rule[\dimexpr\ht\stopbox+\baselineskip]{\columnseprule}{\dimexpr\textheight-\ht\stopbox-\baselineskip}%
}%
}
\end{document}
답변2
새 패키지 multicolrule
(버전 1.1)에서는 eso-pic
. Werner의 솔루션은 MWE에 명시된 문제에 대해 완벽하게 서비스가 가능했지만 프로덕션 문서에서는 환경 위에 단일 열 자료가 있는 등의 상황을 처리하기 위해 복잡한 장부가 필요했으며 multicols
원래 규칙과 다시 그려진 규칙이 약간 잘못 정렬되어 내가 필요했습니다. 다시 그리기 전에 이전 선을 지우려면 새 패키지에서는 이러한 문제가 발생하지 않습니다.
\documentclass{article}
\usepackage{multicolrule}
\usepackage{lipsum}
\setlength{\columnsep}{0.5in}
\newsavebox{\stopbox}
\savebox{\stopbox}{%
\begin{tabular}[b]{c}
\Huge\bfseries\sffamily STOP \\
\small\itshape \ldots right here
\end{tabular}
}
\SetMCRule{width=0.5pt,line-style=solid,extend-fill,extend-reserve=\ht\stopbox}
\begin{document}
\lipsum[1]
\begin{multicols}{2}
\lipsum[2-3]
\end{multicols}
\centering\usebox{\stopbox}
\end{document}
결과는 다음과 같습니다.