以下代码给出了大量Font csname csname T1/cmtt/m/sc/10endcsname not found
错误。
\RequirePackage[l2tabu,orthodox]{nag}
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[spanish]{babel}
\begin{document}
Testing bla bla bla . . .
\end{document}
nag
该包(特别是与l2tabu
and/ororthodox
选项)和spanish
该包的选项之间似乎存在冲突babel
。
我尝试过es-noquoting
和es-noshorthand
选项,但没有成功。
还有人有这个问题吗?我使用的是 MacTeX 2012,但在 Ubuntu 中使用 TexLive 2011 时也遇到了同样的错误。
答案1
包裹nag
上写着
\renewcommand\thenag@c{\roman{nag@c}}
但不幸的是,西班牙语模块以不可扩展的方式babel
重新定义\roman
,以便以小写字母而不是小写字母打印罗马数字。
解决方案是避免使用\roman
:
\RequirePackage[l2tabu,orthodox]{nag}
\makeatletter
\renewcommand\thenag@c{\romannumeral\c@nag@c}
\makeatother
或者完全放弃nag
。我只是更喜欢自己避免犯错。:)
答案2
实际上,错误在于nag
,因为它\thenag@n
在内部使用了\csname
,而后者又调用了\roman
旨在视觉的(即印刷的)罗马数字表示。还请注意,“内部”计数器(\@roman
在本例中)不需要完全可扩展,事实上\alph
在西班牙语中也不是(包括ñ之后n),就像\fnsymbol
在 LaTeX 本身中一样。如果您想要低级别的罗马数字,\romannumeral\the
则应使用,这是 LaTeX 在列表中所做的。另一方面,更改\roman
LaTeX 中的每个实例(不仅仅是页码\frontmatter
)会很麻烦。无论如何,西班牙语提供了一个非常简单的解决方法。