通常,当使用 classicthesis 包在标题中使用数学方程式时,可以使用 \texorpdfstring 来解决问题。但这里似乎不起作用,不知道为什么。
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[nochapters]{classicthesis}
\usepackage{amsmath, scalerel}
\newcommand{\antishriek}{\scalerel*{$¡$}{!}}
\begin{document}
\subsection{\texorpdfstring{$a^{\antishriek}$}{TEXT}}
\end{document}
答案1
\scalerel
是一个脆弱的命令。你可以\antishriek
使用以下命令定义\DeclareRobustCommand
\DeclareRobustCommand{\antishriek}{\scalerel*{$¡$}{!}}
\protect
或在移动论点中使用(分节标题或说明)
\subsection{\texorpdfstring{$a^{\protect\antishriek}$}{TEXT}}
也许您对不同的定义感兴趣\antishriek
:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[nochapters]{classicthesis}
\usepackage{amsmath}
\DeclareMathSymbol{\antishriek}{\mathord}{operators}{'74}
\begin{document}
\subsection{\texorpdfstring{$a^{\antishriek}+a^{!}$}{TEXT}}
\end{document}
如果想让反向感叹号和感叹号升高到同一水平,可以这样做
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[nochapters]{classicthesis}
\usepackage{amsmath}
\DeclareMathSymbol{\antishrieksymbol}{\mathord}{operators}{'74}
\makeatletter
\DeclareRobustCommand{\antishriek}{{\mathpalette\anti@shriek\relax}}
\newcommand\anti@shriek[2]{%
\raisebox{\depth}{$\m@th#1\antishrieksymbol$}%
}
\makeatother
\begin{document}
\subsection{\texorpdfstring{$a^{\antishriek}+a^{!}$}{TEXT}}
\end{document}