我目前有一个名为“ ”的标签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}