我经常使用该eurosym
包来排版欧元值。
\documentclass{article}
\usepackage{eurosym}
\begin{document}
\EUR{100000}
\end{document}
这相当于“100000 欧元”。
但是它缺少千位分隔符选项。对于英文文本,我想将其转换为“€ 100,000”。在德文文本中,人们宁愿将其转换为“100.000 €”。欧元符号的位置已由 eurosym 包处理。
有没有办法(理想情况下是一个包)可以提供此功能,或者有人知道如何轻松实现此功能?
答案1
只需使用相同的eurosym
包以及sistyle
使用 定义分隔符位置为千位的包即可SIthousandsep{,}
。然后您可以使用这个
\documentclass{article}
\usepackage{eurosym}
\usepackage{sistyle}
\SIthousandsep{,}
\newcommand{\euros}[1]{\euro{\num{#1}}}
\begin{document}
I have a 5-figure pay check with \euros{40000}.
Now I am a millionaire with \euros{4000000}.
I wish I own a Ferrari worth of \euros{400000000000} (I have no idea how much that costs).
\end{document}
要得到:
PS:我更喜欢使用\euro{...}
而不是\EUR{...}
。因为后者会给出额外的虚假空间,我个人并不喜欢 ;)
输出内容\EUR{...}
:
另请注意,您也可以使用\euro
。
答案2
结合:eurosym
siunitx
\documentclass{article}
\usepackage{eurosym}
\usepackage{siunitx}
\newcommand{\eur}[2][]{\EUR{\num[#1]{#2}}}
\begin{document}
\eur{10000}
\eur[group-separator={,}]{10000}
\sisetup{group-separator={,}}
\eur{10000}
\end{document}
可以将数字格式的特定选项作为可选参数传递,或使用 进行默认设置\sisetup
。
相同,但有\usepackage[right]{eurosym}
: