Как изменить шрифт \EUR на serif?

Как изменить шрифт \EUR на serif?

В моем документе я использую шрифт sans serif для всего, кроме математики. Как мне изменить макрос, \EURпредоставляемый пакетом eurosym, чтобы что-то вроде \EUR{1234}печатать числа (и символ?) шрифтом serif?

МВЭ

\documentclass[a4paper]{article}
\usepackage{eurosym}

\renewcommand{\familydefault}{\sfdefault}

\begin{document}
I'm just a test line \EUR{12345}. % I want this to be serif font...

I'm just a test line \euro \(12345\). % ...like this!
\end{document}

Скриншот

введите описание изображения здесь

решение1

Вы можете переопределить команду в преамбуле, вставив шрифт Roman ( \rmfamily).

\documentclass[a4paper]{article}
\usepackage{eurosym}

\renewcommand{\familydefault}{\sfdefault}

\makeatletter
%% from eurosym.sty
\def\EUR#1{{\rmfamily\if@EURleft\euro\,\fi#1\if@EURleft\else\,\euro\fi}}
\makeatother

\begin{document}

I'm just a test line \EUR{12345}. % ...like this!
\end{document}

Или, может быть, определить новую команду, например, \rmEURчтобы не потерять команду по умолчанию.

решение2

Вместо загрузки eurosymвы можете загрузить textcompи использовать команду \texteuroили просто ввести €. Если текущий 8-битный устаревший шрифт имеет этот символ (а большинство шрифтов в современном дистрибутиве TeX имеют), он будет использовать его. В противном случае пакет попытается подделать его с помощью Cи =.

С современным движком TeX вы можете загрузить fontspecи использовать символ Unicode. \texteuroКоманда все еще работает для обратной совместимости. Только несколько издателей все еще не поддерживают современные шрифты в 2019 году.

Возможно, эта \EURкоманда покажется вам достаточно полезной для самоопределения:

\documentclass{article}
\usepackage{fontspec} % Or:
%\usepackage[T1]{fontenc}
%\usepackage{textcomp}
%\usepackage[utf8]{inputenc}

\usepackage{parskip} % Removes the paragraph indentation.

\DeclareRobustCommand\EUR[1]{€\thinspace #1}

\begin{document}
\EUR{10} \textbf{\EUR 10} \textit{\EUR{10} \textbf{\EUR{10}}} \\
\textsf{\EUR{10} \textbf{\EUR 10} \textit{\EUR{10} \textbf{\EUR{10}}}}
\end{document}

Образец шрифта евро

Здесь используется символ евро из текущего шрифта, за которым следует тонкий неразрывный пробел. Если вы предпочитаете использовать немецкую конвенцию, помещая символ после суммы, сделайте это так. ( #1\thinspace €) Если вы хотите изменить конвенцию в пределах одного документа, это будет сложнее.

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