페이지 나누기를 방지할 때 여러 열의 열 바닥을 울퉁불퉁하게 만드는 방법은 무엇입니까?

페이지 나누기를 방지할 때 여러 열의 열 바닥을 울퉁불퉁하게 만드는 방법은 무엇입니까?

설정: 작은 섹션이 많은 3개의 열에 다중 열을 사용해야 합니다. 일부 섹션이 중간에 끊어져서 원하지 않는 다음 열로 넘어가는 것을 발견했습니다.

일부 연구(예: 인터넷 검색)를 통해 추가하면 \interlinepenalty=10000이를 방지할 수 있다는 사실이 밝혀졌습니다. 그리고 그렇습니다.멀티콜 - 포장하지 않음

그러나 기둥 바닥에 틈(너덜너덜한 바닥 또는 올바른 이름)이 있는 대신 기둥 사이에 큰 빈 공간이 생겨 보기에 좋지 않습니다.

Mathematica 그래픽

다음을 사용하여 생성됨:

\documentclass[10pt,notitlepage]{article}%
\setlength{\columnseprule}{0pt} %column thicnkess 
\setlength{\columnsep}{5.0pt}
\usepackage{lipsum}
\usepackage{multicol}
\usepackage{titlesec}
\titleformat{\section}{\large\bfseries}{\thesection}{1em}{}
\begin{document}
\begin{multicols*}{3}     
\interlinepenalty=10000
\section{some section}
\lipsum[75]
\section{some section}
\lipsum[75]
\section{some section}
\lipsum[3]
\section{some section}
\lipsum[75]
\section{some section}
\lipsum[75]
\section{some section}
\lipsum[75]
\section{some section}
\lipsum[4]
\section{some section}
\lipsum[75]
\end{multicols*}
\end{document}

제거 \interlinepenalty=10000는 준다

Mathematica 그래픽

섹션이 열을 가로질러 흐르기 때문에 원하지 않습니다.

스타 버전을 제거해도 도움이 되지 않습니다. \interlinepenalty=10000섹션 내에서 페이지 나누기를 방지하려면 사용해야 합니다 . 그러나 문제는 섹션 사이의 큰 간격입니다.

samepage그런 다음 도움이 되길 바라면서 각 섹션을 그 안에 포장했습니다 . 그런데 이번 결과는 더 이상했다. 내가 여기서 뭔가 잘못한 게 틀림없어요:

Mathematica 그래픽

위의 코드는 다음과 같습니다.

\documentclass[10pt,notitlepage]{article}%
\setlength{\columnseprule}{0pt} %column thicnkess 
\setlength{\columnsep}{5.0pt}
\usepackage{lipsum}
\usepackage{multicol}
\usepackage{titlesec}
\titleformat{\section}{\large\bfseries}{\thesection}{1em}{}
\begin{document}
\begin{multicols}{3}     
%\interlinepenalty=10000

\begin{samepage}
\section{some section}
\lipsum[75]
\end{samepage}

\begin{samepage}
\section{some section}
\lipsum[75]
\end{samepage}

\begin{samepage}
\section{some section}
\lipsum[3]
\end{samepage}

\begin{samepage}
\section{some section}
\lipsum[75]
\end{samepage}

\begin{samepage}
\section{some section}
\lipsum[75]
\end{samepage}

\begin{samepage}
\section{some section}
\lipsum[75]
\end{samepage}

\begin{samepage}
\section{some section}
\lipsum[4]
\end{samepage}

\begin{samepage}
\section{some section}
\lipsum[75]
\end{samepage}

\end{multicols}
\end{document}

섹션 중간에서 페이지 나누기를 방지하는 올바른 방법은 무엇입니까? 단, 추가 공간은 사이가 아닌 하단에 있어야 합니까?

Linux에서 Tex live 2013을 사용합니다. (ps. 언젠가는 Latex를 사용하여 코드 조각을 복사하는 방법을 배워야 합니다. 동일한 코드를 계속해서 복사하여 붙여넣지 않아도 됩니다.)

답변1

매크로 를 사용하여 원하는 효과를 얻을 수 있습니다 \raggedcolumns.

\documentclass[10pt,notitlepage]{article}%
\setlength{\columnseprule}{0pt} %column thicnkess 
\setlength{\columnsep}{5.0pt}
\usepackage{lipsum}
\usepackage{multicol}
\usepackage{titlesec}
\titleformat{\section}{\large\bfseries}{\thesection}{1em}{}
\begin{document}
\begin{multicols}{3}
\raggedcolumns     %new code
\interlinepenalty=10000
\section{some section}
\lipsum[75]
\section{some section}
\lipsum[75]
\section{some section}
\lipsum[3]
\section{some section}
\lipsum[75]
\section{some section}
\lipsum[75]
\section{some section}
\lipsum[75]
\section{some section}
\lipsum[4]
\section{some section}
\lipsum[75]
\end{multicols}
\end{document}

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

관련 정보