![¿Cómo hacer partes inferiores irregulares de las columnas en varias columnas para evitar saltos de página?](https://rvso.com/image/281463/%C2%BFC%C3%B3mo%20hacer%20partes%20inferiores%20irregulares%20de%20las%20columnas%20en%20varias%20columnas%20para%20evitar%20saltos%20de%20p%C3%A1gina%3F.png)
La configuración: necesito usar multicols para, digamos, 3 columnas donde tengo muchas secciones pequeñas. Noté que algunas secciones están divididas en el medio y terminan pasando a la siguiente columna, lo cual no quiero.
Después de algunas investigaciones (es decir, buscar en Google), se descubrió que agregar\interlinepenalty=10000
evita esto. Y lo hace.Multicol - no envolver
Pero en lugar de tener espacios en la parte inferior de las columnas (partes inferiores irregulares, o como se llame correctamente), las columnas terminan con un gran espacio vacío en el medio, lo que no se ve bien.
generado usando:
\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}
quitar \interlinepenalty=10000
da
lo cual no quiero ya que la sección fluye a través de las columnas.
Eliminar la versión estrella tampoco ayuda. Se debe utilizar \interlinepenalty=10000
para evitar saltos de página dentro de una sección. Pero entonces el problema son esas grandes brechas entre secciones.
Luego solía samepage
envolver cada sección dentro con la esperanza de que sirviera de ayuda. Pero este resultado fue más extraño. Debo haber hecho algo mal aquí:
Aquí está el código para lo anterior.
\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}
¿Cuál es la forma correcta de evitar saltos de página en medio de las secciones, pero dejar el espacio adicional en la parte inferior y no en el medio?
Usando Tex live 2013 en Linux. (ps. un día, necesito aprender a usar Latex para hacer copias de fragmentos de código para no copiar y pegar el mismo código una y otra vez).
Respuesta1
El efecto deseado se puede lograr usando la \raggedcolumns
macro:
\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}