連續片狀或有包裹的板狀

連續片狀或有包裹的板狀

第一次來這裡,如果我沒有正確地問這個問題,我深表歉意。

目前,我的文件中有一個表格環境,類似: 選項卡式列表
使用以下程式碼

{\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並不重要,項目周圍的線條也不重要(事實上,我最終可能會刪除它們......)但我想要的是能夠輕鬆地從該列表中添加或刪除項目,例如將“ 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

這是另一個想法。大衛的要簡單得多,如果它對你有用,那就太好了!根據您的需要,此版本更加靈活。我用自由主義的評論來解釋它是如何運作的。比我更好的 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}

在此輸入影像描述

相關內容