¿Cómo hacer varias columnas independientes y luego llenarlas horizontalmente?

¿Cómo hacer varias columnas independientes y luego llenarlas horizontalmente?

Estoy implementando una idea para representar autores. Hasta donde pude ver, ningún otro paquete podría hacerlo por mí, pero estoy feliz de que me corrijan. La idea es colocar a los autores en varias columnas independientes, pero mi pregunta actual es específicamente sobre la maldad que estoy obteniendo en MWE.

Como primer paso quería crear 3 columnas independientes y llenarlas de contenido. He añadido un poco de pegamento para separar las columnas en caso de que las líneas se acerquen demasiado. Hace lo que quería, pero recibo una advertencia excesiva.

\documentclass{article}

\begin{document}

\makebox[\textwidth][c]{
  \parbox[t]{0.3\textwidth}{
    \noindent{}Item 1

    Item 4

    Item 7
  }
  \hskip 10pt plus 5pt minus 5pt\relax
  \parbox[t]{0.3\textwidth}{%
    \noindent{}Item 2

    Item 5 is a little bit longer

    Item 8
  }
  \hskip 10pt plus 5pt minus 5pt\relax
  \parbox[t]{0.3\textwidth}{%
    \noindent{}Item 3

    Item 6
  }
}

\end{document}

Puedo hacer que desaparezca centrando o disminuyendo el ancho de mi cuadro horizontal, pero ¿alguien puede explicar por qué? Siento que todavía estoy abusando de las macros en lugar de usarlas.

Si hay una mejor manera de lograr este efecto, hágamelo saber. Decidí optar por cajas en lugar de tablas, pero estoy feliz de volver a visitarlas. Pensé que los cuadros eran más naturales cuando no se sabía de antemano el número de columnas y filas.

Respuesta1

Usted obtiene

Overfull \hbox (15.0pt too wide) in paragraph at lines 5--28

Como su exterior \makeboxtiene una sangría \parindent, \noindentse solucionaría, pero también puede obtener cuadros demasiado llenos de la lista interna.

Tienes una \textwidthcaja que contiene

SPACE .3\textwidth SPACE 10pt  .3\textwidth SPACE 10pt .3\textwidth SPACE

por lo que puede encajar o no, dependiendo de si 4 espacios de palabras + 20 puntos son mayores que .1\textwidth.

\documentclass{article}

\begin{document}

\noindent\makebox[\textwidth][c]{%%%%
  \parbox[t]{0.3\textwidth}{%
    Item 1

    Item 4

    Item 7
  }\hfill
  \parbox[t]{0.3\textwidth}{%
    Item 2

    Item 5 is a little bit longer

    Item 8
  }\hfill
  \parbox[t]{0.3\textwidth}{%
   Item 3

    Item 6
  }%%%%
}

\end{document}

%No es necesario comentar los finales de las líneas marcadas , pero es una buena práctica. Los marcados %%%%son necesarios para evitar malos espacios.


Una de las razones por las que los tabulares se utilizan a menudo para este tipo de diseño es que tres cuadros de igual ancho, aunque técnicamente están igualmente espaciados y abarcan todo el ancho, parecen desplazados hacia la izquierda si existe la posibilidad de tener entradas cortas.

ingrese la descripción de la imagen aquí

\documentclass{article}

\begin{document}

\hrule

\noindent X\dotfill X

\noindent\makebox[\textwidth][c]{%%%%
  \parbox[t]{0.3\textwidth}{
    Item 1

    Item 4

    Item 7
  }\hfill
  \parbox[t]{0.3\textwidth}{%
    Item 2

    Item 5 is a little bit longer

    Item 8
  }\hfill
  \parbox[t]{0.3\textwidth}{%
   Item 3

    Item 6
  }%%%
}

\bigskip

\hrule

\noindent X\dotfill X

\noindent\makebox[\textwidth][c]{%%%%
  \begin{tabular}[t]{@{}l@{}}
    Item 1\\
    Item 4\\
    Item 7
   \end{tabular}\hfill
   \begin{tabular}[t]{@{}l@{}}
    Item 2\\
    Item 5 is a little bit longer\\
    Item 8
   \end{tabular}\hfill
   \begin{tabular}[t]{@{}l@{}}
   Item 3\\
    Item 6
   \end{tabular}%%%
}


\end{document}

información relacionada