Ich brauche drei Listen nebeneinander, mit einer zentrierten Überschrift für jede Liste. Mit dem multicol
-Paketscheint nicht meinen Bedürfnissen zu entsprechenalses erlaubt mir nicht, meine Spalten unabhängig voneinander auszufüllen, oder?
Alles in eine Tabelle eintragen, scheint auch nicht angemessen zu sein.
Ich habe eine Lösung mit gefunden minipage
. Obwohl es sich wie ein Overkill anfühlt, kommt es dem, was ich will, ziemlich nahe. Aber ich schaffe es nicht, die Miniseiten mit etwas Abstand zwischen den Spalten nebeneinander anzuordnen. Wie kann ich erreichen, dass die drei Miniseiten 100 % des Platzes nutzen? Nehmen wir an:
30 % Spalte eins, 5 % Leerzeichen, 30 % Spalte zwei, 5 % Leerzeichen, 30 % Spalte drei
Ich habe es versucht \hspace
, aber es hat nicht geklappt.
\documentclass[11pt,a4paper]{article}%
\usepackage{enumitem}
\begin{document}
\begin{minipage}[t]{0.30\textwidth}
{\centering \subsection*{Header 1}}
\begin{itemize}[align=left,leftmargin=*,labelsep=1ex]
\item one one one one one one
\item two
\item three
\item four
\end{itemize}
\end{minipage}
\begin{minipage}[t]{0.30\textwidth}
{\centering \subsection*{Header 2}}
\begin{itemize}[align=left,leftmargin=*,labelsep=1ex]
\item one one one one one one
\item two.one \\ two.two
\item three
\item four
\end{itemize}
\end{minipage}
\begin{minipage}[t]{0.30\textwidth}
{\centering \subsection*{Header 3}}
\begin{itemize}[align=left,leftmargin=*,labelsep=1ex]
\item one one one one one one
\item two
\item three
\end{itemize}
\end{minipage}
\end{document}
Gibt es etwas, mit dem ich meine Wünsche viel einfacher erreichen kann?
Antwort1
Sie mussten nicht nur den Zwischenspaltenraum hinzufügen, sondern auch einen \noindent
vor der ersten Miniseite. Andernfalls haben Sie die Spaltenbreite überschritten. Miniseiten sind tatsächlich eine gute Möglichkeit, diese Art von Mehrspaltenproblemen zu handhaben.
ÜBERARBEITET, um zwei von David aufgezeigte Fehlzeichen durch Einfügen von Prozentzeichen am Zeilenende zu entfernen.
\documentclass[11pt,a4paper]{article}%
\usepackage{enumitem}
\begin{document}
\noindent\begin{minipage}[t]{0.30\textwidth}
{\centering \subsection*{Header 1}}
\begin{itemize}[align=left,leftmargin=*,labelsep=1ex]
\item one one one one one one
\item two
\item three
\item four
\end{itemize}
\end{minipage}%
\kern.05\textwidth%
\begin{minipage}[t]{0.30\textwidth}
{\centering \subsection*{Header 2}}
\begin{itemize}[align=left,leftmargin=*,labelsep=1ex]
\item one one one one one one
\item two.one \\ two.two
\item three
\item four
\end{itemize}
\end{minipage}%
\kern.05\textwidth%
\begin{minipage}[t]{0.30\textwidth}
{\centering \subsection*{Header 3}}
\begin{itemize}[align=left,leftmargin=*,labelsep=1ex]
\item one one one one one one
\item two
\item three
\end{itemize}
\end{minipage}
\end{document}
Antwort2
Nur um eine Tabellenlösung zu zeigen:
% arara: pdflatex
\documentclass{article}
\usepackage{array}
\usepackage{booktabs}
\usepackage[inline]{enumitem}
\newcommand*\myTableHeader[1]{\multicolumn{1}{c}{\large\textbf{#1}}}
\begin{document}
\noindent\begin{tabular*}{\linewidth}{@{\extracolsep{\fill}}p{0.3\linewidth}p{0.3\linewidth}p{0.3\linewidth}@{}}
\myTableHeader{Header 1} & \myTableHeader{Header 2} & \myTableHeader{Header 3} \\\addlinespace
\begin{itemize*}[itemjoin={\newline}]
\item one one one one one one
\item two
\item three
\item four
\end{itemize*}
&
\begin{itemize*}[itemjoin={\newline}]
\item one one one one one one
\item two.one \newline two.two
\item three
\item four
\end{itemize*}
&
\begin{itemize*}[itemjoin={\newline}]
\item one one one one one one
\item two
\item three
\end{itemize*}\\
\end{tabular*}
\end{document}
Aktualisieren:
Hier könnt ihr weiterhin eure alten Definitionen verwenden itemize
. Dafür müsst ihr allerdings die Höhe des weißen Raums vor der zweiten Zeile manipulieren. Das Bild zeigt das Ergebnis ohne Korrektur. Im Code ist bereits ein enthalten, \vspace{-10pt}
was ganz gut aussehen würde.
\documentclass{article}
\usepackage{array}
\usepackage{enumitem}
\newcommand*\myTableHeader[1]{\multicolumn{1}{c}{\large\textbf{#1}}}
\begin{document}
\noindent\begin{tabular*}{\linewidth}{@{\extracolsep{\fill}}p{0.3\linewidth}p{0.3\linewidth}p{0.3\linewidth}@{}}
\myTableHeader{Header 1} & \myTableHeader{Header 2} & \myTableHeader{Header 3} \vspace{-10pt}\\
\begin{itemize}[align=left, leftmargin=*,labelsep=1ex]
\item one one one one one one
\item two
\item three
\item four
\end{itemize}
&
\begin{itemize}[align=left, leftmargin=*,labelsep=1ex]
\item one one one one one one
\item two.one \newline two.two
\item three
\item four
\end{itemize}
&
\begin{itemize}[align=left, leftmargin=*,labelsep=1ex]
\item one one one one one one
\item two
\item three
\end{itemize}\\
\end{tabular*}
\end{document}