功能描述的页面布局

功能描述的页面布局

我编写了一个 SDK 手册,我想在其中使用以下布局来描述功能,但是我有一个不想要的回车符。

Parameters    * unsigned int
              * string

Return Value  0 means ....
              1 means .......


Remarks       blablabla ....

\item但目前我对参数部分。我定义了:

\newenvironment{parTitleLeft}[1]
{~\\
\par\setlength{\leftskip}{3cm}\noindent\ignorespaces\hspace{-3cm}\makebox[3cm][l]{{#1}}\ignorespaces}
{\par}

\newenvironment{parTitleLeftItems}[1]
{{#1}\begin{itemize}[leftmargin=3cm]\ignorespaces}
{\end{itemize}}

使用这些命令:

\begin{parTitleLeftItems}{Parameters}
\item blabla ...
\end{parTitleLeftItems}

我得到:

   Parameters      THE FIRST ITEM SHOULD BE HERE 
                   * unsigned int
                   * string

我怎样才能删除那个多余的换行符?

答案1

您看到的垂直空间源于以下事实: itemize 之前的文本位于其自己的段落中(因为 itemize 开始了一个新块)。

基于嵌套列表的解决方案:

\documentclass{article}

\usepackage{enumitem}
\newlist{docFunction}{description}{1}
\setlist[docFunction,1]{labelwidth=3cm,labelsep=0cm,leftmargin=3cm}

\newenvironment{parTitleLeftItems}[1]
{\item[#1]\begin{itemize}[labelsep=1ex]}
{\end{itemize}}

\begin{document}

\begin{docFunction}
\begin{parTitleLeftItems}{Parameters}
\item blabla
\item blabla
\item blabla
\end{parTitleLeftItems}
\begin{parTitleLeftItems}{Return Value}
\item[0] means
\item[1] means
\end{parTitleLeftItems}
\end{docFunction}

\end{document}

我假设您已经enumitem在使用 包了leftmargin

这个想法是,“参数”和“返回值”标签实际上是外部列表(description在本例中为 a)的标签,因此将与项目的内容排版在同一行,而项目的内容又是此处的项目化。

我没有手动或使用自定义宏来设置间距参数,而是使用 命令\newlistenumitem如果您使用的enumitem和版本过旧,\newlist则无法使用,您可以将定义这两行替换docFunction

\newenvironment{docFunction}
  {\begin{description}[labelwidth=3cm,labelsep=0cm,le‌​ftmargin=3cm]}
  {\end{description}}

相关内容