为了在我的文档中包含代码,我在序言中进行了如下说明:
\usepackage[Code]{algorithm}
\usepackage{listings}
并在文档主体中显示实际代码:
begin{algorithm}
\caption{Description}
\label{alg:num}
\lstset{language=custom}
\begin{lstlisting}
my code
\end{lstlisting}
\end{algorithm}
这种方法在标题类型名称中没有空格之前都很好用,但 ie却\usepackage[Code]{algorithm}
不行 \usepackage[Code Snippet]{algorithm}
。我也尝试添加~
符号,但还是失败了。如何添加空格?
答案1
你可以重新定义\ALG@name
\documentclass{article}
\usepackage{algorithm}
\usepackage{listings}
\makeatletter
\edef\ALG@name{Code snippets}
\makeatother
\begin{document}
\begin{algorithm}
\caption{Description}
\label{alg:num}
%\lstset{language=custom}
\begin{lstlisting}
my code
\end{lstlisting}
\end{algorithm}
\end{document}
答案2
该方法在包手册的第 4.4 节(定制)中有说明(第 15-16 页):
\floatname{algorithm}{Code snippet}
完整示例
\documentclass{article}
\usepackage{algorithm}
\usepackage{listings}
\floatname{algorithm}{Code snippet}
\begin{document}
\begin{algorithm}
\caption{Description}
\label{alg:num}
%\lstset{language=custom}
\begin{lstlisting}
my code
\end{lstlisting}
\end{algorithm}
\end{document}
指定包选项的方法不起作用,因为 LaTeX 会删除选项中的所有空格,除非包使用某些键值接口。