Evite saltos de página para columnas múltiples

Evite saltos de página para columnas múltiples

Estoy intentando agregar una historia de usuario de Scrum a un archivo de látex, pero el salto de página al final de la página interrumpe el flujo. Por ejemplo, estoy tratando de lograr: ingrese la descripción de la imagen aquí

Sin embargo, cuando las columnas llegan a un salto de página, se distorsionan y quedan así:ingrese la descripción de la imagen aquí

Esto es básicamente lo que tengo en mi archivo de látex:

\begin{multicols}{2}
[
\textbf{Priority:} \textit{5}\hfill \textbf{Size Estimate:} \textit{2}
\linebreak As a \textit{developer}, I want to \textit{implement a basic local database with a single table} in order to \textit{have a basis for storing more information and expanding it at a later point}.
]
\textbf{Set of Tasks}
\begin{itemize}
    \item Research the setup process for a local database.
    \item Create database.
    \item Add restrictions to the database.
    \item Add new entry in the form of a table.
\end{itemize}

\columnbreak

\textbf{Acceptance Criteria}
\begin{itemize}
    \itemsep0em 
    \item Test the functionality of the table.
    \item Test restrictions concerning password, access and privileges.
    \item Successful queries to the table with simple INSERT, SELECT, UPDATE and DELETE operations.
\end{itemize}
\end{multicols}

Intenté evitarlo creando una tabla, pero las tablas parecen no aceptar secciones detalladas. ¿Hay alguna forma de evitar este salto de página o alguna otra solución a este problema? ¡Cualquier ayuda sería muy apreciada!

Respuesta1

Realmente no puedes tener las dos cosas. En cierto sentido, está haciendo un mal uso de multicol (que intenta equilibrar el material y agrega saltos de página si es necesario, mientras que lo que parece querer es una "tabla" de dos columnas con "tareas" a la izquierda y "criterios" a la derecha.

Para lograrlo, fuerce explícitamente un salto de columna entre los dos. Pero para que eso funcione, todo el material debe caber en el espacio restante de la página; en particular, debe quedar suficiente espacio para que el material de la tarea quepa completamente en la primera columna.

Como ese no es el caso, \columnbreaktermina en la segunda columna y la finaliza. Entonces tienes que decidir qué es lo que realmente quieres ver en ese caso.

  • ¿Corregir manualmente (por ejemplo, con \enlargethispagelos parámetros de espaciado de multicols) o necesita una solución automatizada (base de datos)?
  • iniciar una nueva página si la historia del usuario no cabe en una sola página
  • cambiar el comportamiento de la historia del usuario cuando aparece en un salto de página (bastante difícil si funciona automáticamente)

Si siempre desea una historia de usuario en una sola página, puede colocar la historia completa en un cuadro (minipágina) para que no se rompa y separe las historias con algo como

   \vfil\penalty9999\vfilneg

De esta manera, TeX se rompería antes de una historia si no encaja completamente (suponiendo que las historias nunca tengan más de una página).

Actualizar

Probablemente debería decir que para su caso usar una tabla sería más simple, por ejemplo

\usepackage{tabularx}
\newcolumntype{Y}{>{\fussy}X}

\noindent\begin{tabularx}{\textwidth}{YY}
\textbf{Set of Tasks}
\begin{itemize}
    \item Research the setup process for a local database.
    \item Create database.
    \item Add restrictions to the database.
    \item Add new entry in the form of a table.
\end{itemize}
&
\textbf{Acceptance Criteria}
\begin{itemize}
    \itemsep0em 
    \item Test the functionality of the table.
    \item Test restrictions concerning password, access and privileges.
    \item Successful queries to the table with simple INSERT, SELECT, UPDATE and DELETE operations.
\end{itemize}
\end{tabularx}

o una variación adecuada del mismo (lo anterior solo mantendría las tareas y los criterios juntos)

información relacionada