
Primera vez aquí, así que me disculpo si no pregunto esto correctamente.
Actualmente tengo un entorno tabular en mi documento que se parece a:
usando el siguiente código
{\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}}\\
Ser tabular
específico no es importante, ni tampoco las líneas alrededor de los elementos (de hecho, probablemente las eliminaré eventualmente...) Pero lo que me gustaría es poder agregar o eliminar elementos fácilmente de esta lista, por ejemplo para inserte "Mike" en su ubicación adecuada sin tener que ajustar manualmente la ubicación de todo lo siguiente y al mismo tiempo tener la lista que cabe en una hoja de papel. Romper páginas o evitarlo no es importante porque esta lista se encuentra en el medio de un formulario y nunca se le permitirá acercarse tanto al borde.
El objetivo final es tener una lista alfabética de elementos que se marcarán con un círculo o se resaltarán según corresponda... Sé que también tendré que trabajar en el espaciado vertical y probablemente una lista centrada se vería mejor, pero estoy más preocupado con conseguir que la lista se edite fácilmente primero.
Respuesta1
Creo que estás buscando algo como
\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}
Respuesta2
Aquí tienes otra idea. El de David es mucho más sencillo y si te funciona, ¡genial! Esta versión es un poco más flexible según sus necesidades. Pongo comentarios liberales para explicar cómo funciona. Mejores TeXies que yo podrían sugerir mejoras a mi código, pero aquí va:
\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}