Кажется, что \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}
решение2
В решении пользователя 31729 не зачеркнутый текст («Это не зачеркнутый») не отображается в заголовке или оглавлении. Если требуются как текст soul, так и обычный текст, например, для отображения исправления, работает следующий код:
\documentclass{article}
\usepackage{lipsum}
\usepackage{soul}
\usepackage{hyperref}
\begin{document}
\tableofcontents
\section{\texorpdfstring{\st{Old}{New}}{}}
\lipsum[1]
\end{document}
Пример вывода