連続タブまたは折り返し付き表形式

連続タブまたは折り返し付き表形式

初めてなので、質問が間違っていたらごめんなさい。

現在、私のドキュメントには次のような表形式の環境があります。 タブ付きリスト
次のコードを使用する

{\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}}\\

具体的であることtabularは重要ではありませんし、項目の周りの線も重要ではありません (実際、最終的には削除すると思います...)。しかし、私が望んでいるのは、このリストから項目を簡単に追加または削除できることです。たとえば、リストを 1 枚の紙に収めながら、後続のすべての配置を手動で調整することなく、「Mike」を適切な場所に挿入できます。ページを分割したり、そのようなことを防ぐことは重要ではありません。このリストはフォームの中央にあり、端に近づくことは決して許可されないためです。

最終的な目標は、該当する項目をアルファベット順にリストし、丸で囲んだり強調表示したりすることです... 垂直方向の間隔についても取り組む必要があることはわかっていますし、中央揃えのリストのほうが見栄えが良いかもしれませんが、まずはリストを簡単に編集できるようにすることに重点を置いています。

答え1

あなたが探しているのは次のようなものだと思います

ここに画像の説明を入力してください

\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}

答え2

ここに別のアイデアがあります。David のものはずっとシンプルで、それがあなたにとってうまくいくなら素晴らしいです! このバージョンは、あなたのニーズに応じてもう少し柔軟です。私は、それがどのように機能するかを説明するために、たくさんのコメントを載せました。私よりも優れた TeXies が私のコードの改善を提案できるかもしれませんが、ここに書いておきます:

\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}

ここに画像の説明を入力してください

関連情報