Чтобы разобраться с произвольным использованием utf8x в Europecv

Чтобы разобраться с произвольным использованием utf8x в Europecv

Эгрег опроизвольное использование наряда, но с использованием действительно utf8x

Класс europecv произвольно решил, что utf8 не является хорошим вариантом, и использует utf8x, даже если переданный параметр — utf8, что, конечно, глупо.

Как можно решить проблему произвольного использования utf8x в Europecv? Можно ли внести какие-либо изменения в сам пакет для поддержки 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опцию, которая загружается inputencвместе с utf8опцией.

Связанный контент