\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}
編集番号2
を使用すると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}
答え2
user31729 のソリューションでは、取り消し線が引かれていないテキスト (「取り消し線が引かれていません」) はタイトルにも目次にも表示されません。訂正を表示するなど、本文とプレーン テキストの両方が必要な場合は、次のコードが機能します。
\documentclass{article}
\usepackage{lipsum}
\usepackage{soul}
\usepackage{hyperref}
\begin{document}
\tableofcontents
\section{\texorpdfstring{\st{Old}{New}}{}}
\lipsum[1]
\end{document}
サンプル出力