我正在与listings
包裹并尝试将分隔符从默认句点更改为连字符。但是,我似乎不知道该怎么做。
我尝试了下面的代码片段,但它似乎不起作用。
\renewcommand{\thelstlisting}{\thechapter-\arabic{lstlisting}}
\documentclass[a4paper,10pt]{report}
\usepackage[utf8]{inputenc}
\usepackage{listings}
\begin{document}
\chapter{The Chapter}
\begin{lstlisting}[caption=The Listing Caption, language=xml]
<?xml version="1.0" encoding="utf-8">
<data>
<format/>
</data>
\end{lstlisting}
\end{document}
答案1
该\thelstlisting
宏是通过\AtBeginDocument
钩子定义的。
您可以在之后重新定义它\begin{document}
,或者\AtBeginDocument
自己使用钩子(推荐)。
代码
\documentclass[a4paper,10pt]{report}
\usepackage[utf8]{inputenc}
\usepackage{listings}
\AtBeginDocument{\renewcommand*{\thelstlisting}{\thechapter-\arabic{lstlisting}}}
\begin{document}
\chapter{The Chapter}
\begin{lstlisting}[caption=The Listing Caption, language=xml]
<?xml version="1.0" encoding="utf-8">
<data>
<format/>
</data>
\end{lstlisting}
\end{document}