问题代码:
bug_code.zip
下次要把代码精简一下然后给出文本形式的代码.
见 texdoc listings
, 对于 caption
选项要用 {}
包裹
\documentclass{article}
\usepackage{listings}
\begin{document}
\begin{lstlisting}[language=Python, caption={Python example}]
print("Hello World")
\end{lstlisting}
\end{document}
得到了有问题的源码, 问题来源于 elegantnote.cls
的如下部分
\RequirePackage{verbatim}
\DeclareCaptionFormat{codecaptionformat}{%
%%\colorbox{black!20}{
%% \parbox{\textwidth}{#1#2\ttfamily#3}
%%}
\parbox{\textwidth}{\textcolor{violet}\faCode~\textcolor{violet}{#1#2}\hspace{.5em}\fzkai#3}
}
\captionsetup[lstlisting]{format=codecaptionformat}
\DeclareCaptionFormat{codecaptionformat}{%
%%\colorbox{black!20}{
%% \parbox{\textwidth}{#1#2\ttfamily#3}
%%}
\parbox{\textwidth}{\textcolor{violet}\faCode~\textcolor{violet}{#1#2}\hspace{.5em}\fzkai#3}
}
\captionsetup[lstlisting]{format=codecaptionformat}
其中 \faCode
为 fontawesome
宏包内的命令, \fzkai
为没有定义的字体命令.
这段代码来自 https://github.com/WisdomFusion/latex-templates , 其中关于 \fzkai
的定义为
\setCJKfamilyfont{fzkai}{方正楷体_GBK}
\newcommand{\fzkai}{\CJKfamily{fzkai}}
没有必要装新的字体, 直接用 \kaishu
就好了.
于是将这段代码修改为
\RequirePackage{fontawesome}
\RequirePackage{verbatim}
\DeclareCaptionFormat{codecaptionformat}{%
%%\colorbox{black!20}{
%% \parbox{\textwidth}{#1#2\ttfamily#3}
%%}
\parbox{\textwidth}{\textcolor{violet}\faCode~\textcolor{violet}{#1#2}\hspace{.5em}\kaishu#3}
}
\captionsetup[lstlisting]{format=codecaptionformat}
\DeclareCaptionFormat{codecaptionformat}{%
%%\colorbox{black!20}{
%% \parbox{\textwidth}{#1#2\ttfamily#3}
%%}
\parbox{\textwidth}{\textcolor{violet}\faCode~\textcolor{violet}{#1#2}\hspace{.5em}\kaishu#3}
}
\captionsetup[lstlisting]{format=codecaptionformat}
即可
您好,我上传了我遇到问题的代码以及我所使用的模板.cls文件。我添加了将caption用{}括起来了仍旧报错
@u40193 您好
这部分代码是哪里来的