我正在使用以下代码并收到警告
Command \underbar has changed.
这是什么意思?我该如何解决?
\documentclass{article}
\usepackage{amsmath}
\usepackage{unicode-math}
\usepackage[english,greek]{babel}
\usepackage{fontspec}
\setmainfont
[
UprightFont = *,
BoldFont = *Bold,
ItalicFont = *It,
BoldItalicFont = *BoldIt,
Extension = .otf,
Ligatures = TeX,
Mapping = tex-text
]{GFSArtemisia}
\setsansfont
[
Mapping = tex-text
]{GFSArtemisia.otf}
\setmathfont{latinmodern-math.otf}
\usepackage{sectsty}
\sectionfont{\RaggedRight}
\begin{document}
Text
\end{document}
答案1
sectsty
此警告是由于对 的定义进行检查而引起的\underbar
。如果它与预期的定义之一不匹配,则会发出警告。
您可以避免此警告但我不推荐。这个警告是告诉您一些重要的事情:它sectsty
发现的定义\underbar
并不是它所期望的,而且事情可能无法正常工作。
事实上,我建议不要sectsty
与 LuaTeX/XeTeX 一起使用。特别是,我不会将它与 一起使用unicode-math
。
如果您坚持的话,对于 LuaTeX,您可以通过提前加载包来避免该特定警告。对于 XeTeX,您可以通过提前加载包来避免该警告。
例如,
\documentclass{article}
\usepackage{sectsty}
\usepackage{amsmath}
\usepackage{unicode-math}
\usepackage[english,greek]{babel}
\usepackage{fontspec}
\setmainfont
[
UprightFont = *,
BoldFont = *Bold,
ItalicFont = *It,
BoldItalicFont = *BoldIt,
Extension = .otf,
Ligatures = TeX,
]{GFSArtemisia}
\setsansfont
[
Ligatures = TeX,
]{GFSArtemisia.otf}
\setmathfont{latinmodern-math.otf}
\sectionfont{\RaggedRight}
\begin{document}
Text
\end{document}
然而,我在使用 LuaTeX 时收到了其他警告。
答案2
你真的没有什么可担心的,只要你不sectsty
使用下划线章节标题。
\underbar
该包不断地检查\underline
,因为它想要重新定义它们,但它只是在排版这些标题时这样做。
因此,如果您不使用下划线(最好不要使用),则应该没有问题。
实际上可以采取一些措施来完全禁用这些重新定义(\underbar
实际上,只有当您碰巧在章节标题中使用时才会有风险)。
\documentclass{article}
\usepackage{amsmath}
\usepackage{unicode-math}
\usepackage[english,greek]{babel}
\usepackage[immediate]{silence}
\WarningFilter[temp]{latex}{Command} % silence the warning
\usepackage{sectsty}
\DeactivateWarningFilters[temp] % So nothing unrelated gets silenced
\makeatletter % disable the runtime redefinitions
\let\SS@makeulinesect\relax
\let\SS@makeulinepartchap\relax
\makeatother
\setmainfont[
UprightFont = *,
BoldFont = *Bold,
ItalicFont = *It,
BoldItalicFont = *BoldIt,
Extension = .otf,
Ligatures = TeX,
]{GFSArtemisia}
\setsansfont{GFSArtemisia.otf}
\setmathfont{latinmodern-math.otf}
\sectionfont{\RaggedRight}
\begin{document}
Text
\end{document}