我正在用 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}