我正在使用\package{lstlisting}
latex 显示一些 matlab 代码。我的代码放在附录中,并带有标签。下面是我的代码摘录:
% block of codes
\clearpage
\appendix
\chapter{Appendices}
\section*{Appendix A.1}\label{appendix_A.1}
\begin{lstlisting}[caption={Simulation 1},label={simulation_1},language=Matlab]
% some matlabcode
\end{lstlisting}
\begin{lstlisting}[caption={Simulation 2},label={simulation_2},language=Matlab]
% some matlabcode
\end{lstlisting}
\section*{Appendix A.2}\label{appendix_A.2}
这是我的输出:
A 章:附录 章节:附录 A.1
“matlab 代码块”,标题为清单 A.1:模拟 1
“matlab 代码块”,标题为清单 A.2:模拟 2
章节:附录 A.2
我不喜欢的是,当我引用部分和列表时,它们似乎共享相同的名称。如果我能有类似列表 1:模拟 1,列表 2:模拟 2 的东西就好了。有人能帮忙吗?提前感谢您的时间。
答案1
很容易\thechapter
从 中删除\thelstlisting
。请注意\section*
本身不能被 引用\label
。
\documentclass{report}
\usepackage{listings}
\begin{document}
\chapter{Yada Yada}
\clearpage
\appendix
\renewcommand{\thelstlisting}{\arabic{lstlisting}}
\chapter{Appendices}
\section*{\refstepcounter{section}Appendix \thesection}\label{appendix_A.1}
\begin{lstlisting}[caption={Simulation 1},label={simulation_1},language=Matlab]
% some matlabcode
\end{lstlisting}
\begin{lstlisting}[caption={Simulation 2},label={simulation_2},language=Matlab]
% some matlabcode
\end{lstlisting}
%
\section*{\refstepcounter{section}Appendix \thesection}\label{appendix_A.2}
\end{document}