解决 Europecv 对 utf8x 的任意使用

解决 Europecv 对 utf8x 的任意使用

关于任意使用装备但使用真正的 utf8x

europecv 类武断地认为 utf8 不是一个好的选择,并且即使传递的选项是 utf8 也会使用 utf8x,这当然是愚蠢的。

如何解决 Europecv 中任意使用 utf8x 的问题? 是否可以在实际包中做出任何更改来支持 utf8 而不是 utf8x?

CV 是关于出版的,它应该在新世纪,就像这里。我还希望有 XeLaTeX 支持(现在只有 pdflatex,讨论这里) 可以同时实现 Europecv,并停止固有加载输入

答案1

该班级europecv

\DeclareOption{utf8}{\AtEndOfClass{\inputencoding{utf8x}}}

这是一个非常大的错误。当该类首次发布时,utf8不支持直接输入希腊语,这是使用的主要原因utf8x。几年以来,utf8 支持希腊语,所以没有理由以这种方式保留该选项。

然而,为了向后兼容,也许应该添加一个新选项,比如说realutf8

您可以使用以下解决方案强制europecv不加载inputenc该选项。utf8x

% trick to fool europecv into thinking XeTeX is used
\ifdefined\Umathchar\else\let\Umathchar\relax\fi

\documentclass[helvetica,narrow]{europecv} % no utf8 option!!!

% undo the effect of the trick
\ifx\Umathchar\relax\let\Umathchar\UNDEFINED\fi

\usepackage[utf8]{inputenc}

<rest of the preamble>

最好的办法是说服作者europecv提供一个可以加载该选项realutf8的选项。inputencutf8

相关内容