babel 以某种方式干扰了 \partname?

babel 以某种方式干扰了 \partname?

这对我来说没有任何意义,但由于某种原因,\usepackage{babel}导致\partname无法按预期工作。

这是 MWE。\renewcommand{\partname}{}应该给出一个不带单词“Pars”的输出文本——只有罗马数字和零件名称。如果我删除babel,它就可以正常工作。

有什么办法可以解决这个问题吗?

\documentclass[12pt,openright]{book}
\usepackage{fontenc}[utf8]
\usepackage[english,main=latin]{babel}      

\renewcommand{\partname}{}

\begin{document}
\part{Pīrāta Veterānus}
\end{document}

答案1

你可以通过以下方式修改固定词

\addto\extraslatin{\renewcommand{\partname}{}}

您的尝试无效,因为\begin{document}问题\selectlanguage{latin}\partname除非修改,否则会设置为“Pars”。

然而,这并不是删除单词的一个特别好的方法,因为它不会删除空格。

\documentclass[12pt,openright]{book}
\usepackage[T1]{fontenc}
\usepackage[english,main=latin]{babel}

\addto\extraslatin{\renewcommand{\partname}[1]{}}

\begin{document}
\part{Pīrāta Veterānus}
\end{document}

在此处输入图片描述

与仅使用的结果进行比较\renewcommand{\partname}{}

在此处输入图片描述

抱歉,图片尺寸不同,但请检查对齐方式,您会看到后一张图片中的“I”被移动到了右侧。

该类仅在 的定义中book使用。但是,这不能保证与其他包(例如 )一起使用。\partname\@parttitlesec


此行\usepackage{fontenc}[utf8]毫无意义。我将其改为\usepackage[T1]{fontenc}

您可能想要这样做\usepackage[utf8]{inputenc},但最近的 TeX 发行版不再需要这样做。

相关内容