就我而言,我想要类似的东西
function explanation
code snippet
我的(丑陋)尝试是使用小页面和列表
\documentclass{article}
\usepackage{listings}
\usepackage{color}
\begin{document}
\begin{minipage}[t]{0.2\textwidth}
\texttt{functionname}
\end{minipage}
\begin{minipage}[t]{0.8\textwidth}
Explanation
\begin{lstlisting}[basicstyle=\footnotesize\ttfamily, language=C, numbers=left, numberstyle=\tiny\color{black}]
for i in 1:3
@show i
end
\end{lstlisting}
\end{minipage}
\end{document}
有没有更好的方法?提前感谢您的耐心和关注。
答案1
您显示的输出来自处理refman.dtx
使用docstrip
。它处理包含文档和代码的文件,以便可能分发到各种输出(如.sty
和.cls
文件)。文档包含常规文本,以及macro
和macrocode
环境(以及其他内容),用于描述宏及其代码。这些环境在doc
包裹。
以下是在常规文档中如何使用它的简化版本:
\documentclass{article}
\usepackage{doc}
\CodelineNumbered
\begin{document}
\begin{macro}{\@ptsize}
This control sequence is used to store the second digit of the
pointsize we are typesetting in. So, normally, its value is one
of 0, 1 or 2.
\begin{macrocode}
<*refart|refrep>
\newcommand\@ptsize{}
% \end{macrocode}
\end{macro}
\end{document}
注意macrocode
环境必须以该子句结尾
% \end{macrocode}
(即,%
后面跟着四个空格,
后面跟着\end{macrocode}
)。由于它通常用于docstrip
特定代码文档,所以这不是问题。但是,在常规文档中使用它需要这个奇怪的结尾。
也许你可以尝试以下界面,类似于doc
包裹macro
s 和的接口macrocode
:
\documentclass{article}
\usepackage{listings}
\newenvironment{macro}[1]
{\par\noindent
\makebox[0pt][r]{\texttt{#1}\quad}%
\ignorespaces}
{}
\lstnewenvironment{macrocode}[1][]
{\lstset{
basicstyle=\footnotesize\ttfamily,
language = C,
numbers = left,
numberstyle=\tiny,
#1}}
{}
\begin{document}
\begin{macro}{functionname}
Explanation
\begin{macrocode}
for i in 1:3
@show i
end
\end{macrocode}
\end{macro}
\end{document}
设置functionname
在边距内,与函数的行号一起设置。如果您的可能包含像或 这样functionname
的奇怪(保留)字符,则必须做更多工作。_
$