
Ich bin zum ersten Mal hier und entschuldige mich, wenn ich falsch frage.
Ich habe derzeit eine tabellarische Umgebung in meinem Dokument, die ungefähr so aussieht:
mit dem folgenden Code
{\scriptsize\begin{tabular}{|p{.5in}|p{.5in}|p{.5in}|p{.5in}|p{.5in}|} \hline
Alpha & Bravo & Charlie & Delta & Echo \\ \hline
Foxtrot & Gulf & Hotel & India & Juliett \\ \hline
Kilo & Lima & November & Oscar & Papa \\ \hline
\end{tabular}}\\
Es ist nicht wichtig, spezifisch zu sein tabular
, und auch die Linien um die Elemente sind es nicht (tatsächlich werde ich sie wahrscheinlich irgendwann entfernen ...). Was ich aber möchte, ist, dass ich Elemente dieser Liste einfach hinzufügen oder daraus entfernen kann, um beispielsweise „Mike“ an der richtigen Stelle einzufügen, ohne die Platzierung aller folgenden Elemente manuell anpassen zu müssen, während die Liste trotzdem auf ein Blatt Papier passt. Seitenumbrüche oder deren Verhinderung sind nicht wichtig, da diese Liste in der Mitte eines Formulars liegt und niemals so nah an einen Rand gelangen darf.
Das ultimative Ziel besteht darin, eine alphabetische Liste mit Elementen zu erstellen, die je nach Bedarf eingekreist oder hervorgehoben werden können. Ich weiß, dass ich auch an der vertikalen Abstände arbeiten muss und dass eine zentrierte Liste wahrscheinlich besser aussehen würde, aber mir ist zunächst wichtiger, dass die Liste leicht bearbeitet werden kann.
Antwort1
Ich glaube, Sie suchen so etwas wie
\documentclass{article}
\begin{document}
\newcommand\zz[1]{\makebox[.5in][l]{\scriptsize#1}\hfill\ignorespaces}
\begin{minipage}{2.5in}\raggedright
\zz{Alpha} \zz{Bravo} \zz{Charlie} \zz{Delta} \zz{Echo}
\zz{Foxtrot} \zz{Gulf} \zz{Hotel} \zz{India} \zz{Juliett}
\zz{Kilo} \zz{Lima}
\zz{Mike}
\zz{November} \zz{Oscar} \zz{Papa}
\end{minipage}
\end{document}
Antwort2
Hier ist eine weitere Idee. Davids ist viel einfacher und wenn sie für Sie funktioniert, großartig! Diese Version ist je nach Ihren Anforderungen etwas flexibler. Ich habe ausführliche Kommentare hinzugefügt, um zu erklären, wie es funktioniert. Bessere TeXies als ich könnten möglicherweise Verbesserungen für meinen Code vorschlagen, aber hier ist sie:
\documentclass{article}
\usepackage{array} % required for `>` in tabular preamble
\newcount\myfield % keep track of how many fields across we are
\newcount\maxfield % maximum number of fields
\def\z{% use \z as a separator inside mylist instead of & or \\
\ifnum \myfield < \maxfield% we haven't made it across the row yet
\def\mydefer{&}% insert a standard column separator
\else% we have made it across the row
\def\mydefer{%
\global\myfield 0\relax% reset field counter
\\\hline% go to next row
}%
\fi%
\mydefer% insert the appropriate column or row separator
}
\newenvironment{mylist}[2][l]% two arguments: #1 = column-spec (optional, default `l`); #2 = number of fields per row
{% opening of environment
\myfield 0\relax% initialize at the "zeroeth" field
\maxfield #2\relax% set max fields for this environment
\scriptsize% choose font if desired
\begin{tabular}{|*{#2}{>{\global\advance\myfield 1\relax}#1|}}% #2 copies of column #1, advance field count before each cell
\hline% horizontal rule if desired
}{% closing of environment (much simpler if you decide to drop the rules)
\ifnum\myfield=0\hline\else\\\cline{1-\myfield}\fi% draw a partial rule or full rule depending on number of fields in the last row
\end{tabular}
}
\begin{document}
\begin{mylist}{5}
Alpha \z
Bravo \z
Charlie \z Delta \z Echo \z Foxtrot \z
Gulf \z Hotel \z
India \z Juliett \z Kilo \z Lima \z Mike \z November \z Oscar \z Papa
\end{mylist}
\begin{mylist}{3}
A \z Test \z for \z different \z parameters
\end{mylist}
\begin{mylist}[c]{2}
A \z Test \z for \z different \z parameters
\end{mylist}
\begin{mylist}[p{0.75in}]{2}
A \z Test \z for \z different \z parameters
\end{mylist}
\begin{mylist}[l]{7}
Alpha \z
Bravo \z
Charlie \z Delta \z Echo \z Foxtrot \z
Gulf \z Hotel \z
India \z Juliett \z Kilo \z Lima \z Mike \z November \z Oscar \z Papa
\end{mylist}
\end{document}