我想用 palatino 字体书写所有 \textdagger 和 \textdaggerdbl。例如,我喜欢:
\documentclass{article}
\begin{document}
\textdagger\textdaggerdbl
{\usefont{T1}{ppl}{m}{n}
\textdagger\textdaggerdbl}
\end{document}
但是,下面的方法不起作用:
\let\oldtextdagger\textdagger
\def\textdagger{\usefont{T1}{ppl}{m}{n}\oldtextdagger}
\textdagger
这有什么问题?
答案1
使用\NewCommandCopy
而不是\let
。
\documentclass{article}
\NewCommandCopy{\oldtextdagger}{\textdagger}
\RenewDocumentCommand{\textdagger}{}{%
{\fontfamily{ppl}\selectfont\oldtextdagger}%
}
\NewCommandCopy{\oldtextdaggerdbl}{\textdaggerdbl}
\RenewDocumentCommand{\textdaggerdbl}{}{%
{\fontfamily{ppl}\selectfont\oldtextdaggerdbl}%
}
\begin{document}
X\textdagger\textdaggerdbl Y
\end{document}
如果您愿意,也可以\fontfamily{ppl}\selectfont
用 来替换\usefont{TS1}{ppl}{m}{n}
。不过,符号不会根据上下文而改变。