覆盖 \section{} 并去除 LaTeX 源字符串中的修饰

覆盖 \section{} 并去除 LaTeX 源字符串中的修饰

我正在尝试解决 Pandoc 的 LaTeX 输出中遇到的问题([1];我已经为 Pandoc 本身实现了一个补丁,但我还在寻找仅适用于 LaTeX 的解决方案,以防该补丁不适用于 Pandoc)。基本上,我希望在呈现的 PDF 文档中生成的 TOC 中的字符串是漂亮的,并且不包含由文档文本本身的字符串格式引起的伪影:

PIC

!的残余\subsection{\lstinline!--enable-debugging!}

我正在寻找一种方法来覆盖\subsection{}(和其他\chapter\section命令)以达到 的效果\subsection{\texorpdfstring{\lstinline!--enable-debugging!}{--enable-debugging}。这可能吗?

其次,有没有办法从\lstinline!--enable-debugging!使用--enable-debuggingLaTeX 转为使用 LaTeX?换句话说,是否有一些命令可以计算出文本的未修饰版本(可能保留一些基本内容,如\/{})?

答案1

每个分段命令都有一个可选参数,如果指定,则该参数指示将放入该节的目录中的替代文本。(请参阅第 2.2 节“分段命令”LaTeX 伴侣

例如,\section[toc-entry]{title}

只需将您希望在目录中看到的替代文本放入可选参数中即可。

话虽如此,但您没有提供 MWE 来进一步指导我,当我使用以下代码时,我没有在目录中看到感叹号:

\documentclass{article}
\usepackage{listings}
\begin{document}
\tableofcontents
\subsection{\lstinline!--enable-debugging!}
\subsection[Alternative section heading for TOC]{\lstinline!--enable-debugging!}
\end{document}

在此处输入图片描述

相关内容