环境和新命令

环境和新命令

我正在用 C++ 编写我的方法的摘要,其中输出样式始终相同,如下所示:

TestFunc(标题作为小节)

方法布尔 TestFunc(整数 MyPar)(这应该在 Lstlisting 环境中)

方法描述(文本形式)

参数:(使用 itemize 列出参数列表,如下所示:)

  • 我的Par:后面是参数说明

返回值:(类似这样的返回值列表):

  • 真的:描述1
  • 错误的描述2

由于还有很多事情要做,所以我正在考虑使用自己的命令和环境来协调它。我想到这样的事情:

 \newenvironment{Method}{
 \begin{lstlisting}
 Method Boolean TestFunc(Integer MyPar) \end{lstlisting}
 Parameters:
 \begin{itemize}
 \par{Integer}{MyPar}{Description}
 }

 {
 \end{itemize}

 }

而 \par 应该是这样的:\newcommand{\par}[3]{\item #2: #3}

我怎样才能将所有这些结合起来?因此,也可以将 par 定义的内容包含在 lstlisting 中,例如:

\begin{lstlisting}
 Method Boolean TestFunc(#1 #2) 
\end{lstlisting}

此外:有时方法没有输入参数,有时有三个,所以我需要编号参数。有什么想法吗?

答案1

这是我的建议,在颜色和格式上稍加修饰。

它不使用listings包,但这里其实没有必要,因为您已经非常清楚输出应该如何格式化。此外,使用listings会使事情变得复杂,因为您无法轻松地通过命令/环境传递逐字参数。

\documentclass{article}
\usepackage{color}

\newenvironment{method}[3]{%
  \begingroup
  \setlength\parindent{0pt}
  \newcommand\typesetparam[3]{\item[\texttt{\color{blue}##2}] \texttt{##1}: ##3}
  \begingroup\tt
    Method \textcolor{blue}{#2} #1(#3)
    \endgroup\par
  Parameters:
  \begin{description}
}{
  \end{description}
  \endgroup
}

\begin{document}

\begin{method}{TestFunc}{Boolean}{Integer MyPar}
  \typesetparam{MyPar}{Integer}{Description}
\end{method}

\end{document}

相关内容