创建没有边框的表格,其列数根据行数而变化?

创建没有边框的表格,其列数根据行数而变化?

我目前有一个名为“ ”的标签specEntry,它使用env定义来记录以下条目:

IE

\begin{specEntry}{\-N\-A\-M\-E\-:}
  \-f\-o\-o
\end{specEntry}
\begin{specEntry}{\-T\-Y\-P\-E\-:}
  \-i\-n\-t
\end{specEntry}
\begin{specEntry}{\-V\-A\-L\-U\-E\-:}
  \-7
\end{specEntry}
\begin{specEntry}{\-C\-O\-M\-M\-E\-N\-T\-:}
  \-f\-o\-o \-c\-o\-m\-m\-e\-n\-t
\end{specEntry}

根据我的样式表定义,它在文档中显示如下:
姓名:
类型:整数
价值:7
评论:foo 评论

但是,我希望它看起来如下所示(类型和值在同一行 - 值从页面的中心开始):
姓名:
类型:整数            价值:7
评论:foo 评论

我的样式表中的 specEntry 当前如下所示:

\newenvironment{specEntry}[1]{  
  \begin{list}{}  
  {  
    \settowidth{\labelwidth}{40pt}  
    \setlength{\leftmargin}{3cm}  
    \setlength{\parsep}{0pt}  
    \setlength{\itemsep}{-4pt}  
    \renewcommand\makelabel[1]{textbf{#1}}  
  }  
  \item[#1]  
}{  
  \end{list}  
}

我是否应该创建具有不同样式表条目的单独标签(即“名称”和“注释”使用一个条目,“类型/值”使用另一个条目)?我可以创建一个没有边框的表格,基本上有 3 行,只有第 2 行有两列吗?第一个参数始终以粗体显示,注释可以包含多行。我尝试了多种实现方式,但文档中的间距总是混乱的。谢谢。

“COMMENTS”条目可能有一个很长的段落需要在文档中换行,但也可能强制换行:

\specEntry{COMMENT}{This field represents the color of an object blah blah blah blah blah blah blah blah blah blah blah blah blah \par
0 = RED \par
1 = BLUE \par
2 = YELLOW \par
3 = GREEN}

我该如何处理这个问题?

答案1

为每个条目使用环境表单看起来有点冗长,我会这样做

在此处输入图片描述

\documentclass{article}

\newenvironment{specEntries}
 {\flushleft}
 {\endflushleft}

\newcommand\specEntry[2]{\makebox[\csname width#1\endcsname][l]{\textbf{#1:} #2}\linebreak[0]\ignorespaces}
\newcommand\widthNAME{\textwidth}
\newcommand\widthTYPE{.5\textwidth}
\newcommand\widthVALUE{.5\textwidth}
\newcommand\widthCOMMENT{\textwidth}

\begin{document}


\noindent X\dotfill X

\begin{specEntries}
\specEntry{NAME}{foo}
\specEntry{TYPE}{int}
\specEntry{VALUE}{7}
\specEntry{COMMENT}{foo comment}
\end{specEntries}

\end{document}

相关内容