![babel 以某种方式干扰了 \partname?](https://linux22.com/image/414132/babel%20%E4%BB%A5%E6%9F%90%E7%A7%8D%E6%96%B9%E5%BC%8F%E5%B9%B2%E6%89%B0%E4%BA%86%20%5Cpartname%EF%BC%9F.png)
这对我来说没有任何意义,但由于某种原因,\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
\@part
titlesec
此行\usepackage{fontenc}[utf8]
毫无意义。我将其改为\usepackage[T1]{fontenc}
。
您可能想要这样做\usepackage[utf8]{inputenc}
,但最近的 TeX 发行版不再需要这样做。