似乎\st{}
删除文本(删除线)对章节标题不起作用。例如,这个
\documentclass{article}
\usepackage{soul,color}
\begin{document}
\section{\st{Motivation}}\label{sec:theproblem}
In this section, we are going to explain the detail and you will see...
\end{document}
失败,但正文却运行正常
\documentclass{article}
\usepackage{soul,color}
\begin{document}
\section{Motivation}\label{sec:theproblem}
In this section, we are going to \st{explain the detail} and you will see...
\end{document}
顺便说一句,soul
包裹是包含在内的 :)
更新
更新
使用\protect\st
工作正常,但错误是,如果你添加\usepackage{hyperref}
,你将收到此错误
! Argument of \let has an extra }.
<inserted text>
\par
l.5 \section{\protect\st{Motivation}}
\label{sec:theproblem}
?
该问题已得到解决克里斯蒂安·胡普弗在他的回答中。
答案1
此解决方案的早期版本
命令的具体行为
sectioning
需要对内容进行特殊处理,例如章节标题等,在本例中是\st
来自soul
包的命令。它必须受到保护,即前面加上\protect
。
编辑
我刚刚测试过:这个\st
宏已经很强大了。\protect
并不是真的需要。
\documentclass{book}
\usepackage{soul}
\begin{document}
\tableofcontents
\chapter{\protect\st{This is crossed-out}}
\end{document}
编辑二
如果hyperref
使用,这会遇到书签和超链接的典型问题。使用\texorpdfstring
来解决这样的问题 ;-)
\documentclass{book}
\usepackage{soul}
\usepackage[bookmarksopen=true]{hyperref}
\begin{document}
\tableofcontents
\chapter{\texorpdfstring{\st{This is crossed-out}}{This is not crossed out}}
\end{document}