
在我的文件中,除了數學之外,我對所有內容都使用無襯線字體。如何更改套件\EUR
提供的宏eurosym
,以便以\EUR{1234}
襯線字體列印數字(和符號?)?
微量元素
\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
您可以重新定義前導碼上的指令,插入羅馬字型系列 ( \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 €
) 如果你想在同一個文件內切換約定,那就更複雜了。