更改列表编号分隔符

更改列表编号分隔符

我正在与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}

输出

在此处输入图片描述

相关内容