eurosym
我第一次尝试这个包,当我尝试时$\euro$
,我只是得到了e
。例如,我曾尝试在线查找http://www.theiling.de/eurosym.html和在 CTAN。
似乎表明我不应该只收到字母e
。我可以看到惯例可能转变为只收到字母$e$
,但我希望
- 在某些与之相关的站点中被提及
eurosym
;以及 - 为什么要费心
eurosym
去简单地写信呢e
?
答案1
一般情况下,没有理由要通过书写$\euro$
来获取欧元 € 符号。只需\euro
在文本模式下即可。
如果你需要在数学模式下使用符号。该包无法处理这种情况,实际上$\euro$
只是生成埃。
一种解决方法是修改标准定义:
\usepackage{eurosym}
\usepackage{amstext} % for \text
\DeclareRobustCommand{\officialeuro}{%
\ifmmode\expandafter\text\fi
{\fontencoding{U}\fontfamily{eurosym}\selectfont e}}
完整示例:
\documentclass{article}
\usepackage{eurosym}
\usepackage{amstext} % for \text
\DeclareRobustCommand{\officialeuro}{%
\ifmmode\expandafter\text\fi
{\fontencoding{U}\fontfamily{eurosym}\selectfont e}}
\begin{document}
\euro{} in text mode
$\euro$ in math mode
\end{document}
该软件包和您的问题都没有解决的一个完全不同的问题是如何使欧元符号在 PDF 文件中可搜索。
这可以通过定义字体中字符的适当映射来实现。
\documentclass{article}
\usepackage{ifpdf,eurosym,amstext}
\DeclareRobustCommand{\officialeuro}{%
\ifmmode\expandafter\text\fi
{\fontencoding{U}\fontfamily{eurosym}\selectfont{}e}}
\makeatletter
\ifpdf\ifdefined\pdffontattr
\immediate\pdfobj stream {
/CIDInit /ProcSet findresource begin
12 dict begin
begincmap
/CIDSystemInfo
<< /Registry (TeX)
/Ordering (Euro)
/Supplement 0
>> def
/CMapName /TeX-Euro-0 def
/CMapType 2 def
1 begincodespacerange
<00> <FF>
endcodespacerange
1 beginbfchar
<65> <20AC>
endbfchar
endcmap
CMapName currentdict /CMap defineresource pop
end
end
}
{\edef\@tempa#1#2{%
\noexpand\fontseries{#1}\noexpand\fontshape{#2}\noexpand\selectfont
\pdffontattr\font{/ToUnicode \the\pdflastobj\space 0 R}}
\fontencoding{U}\fontfamily{eurosym}%
\@tempa{m}{n}\@tempa{m}{sl}\@tempa{m}{ol}
\@tempa{bx}{n}\@tempa{bx}{sl}
}
\fi\fi
\makeatother
\begin{document}
\euro{} in text mode
$\euro$ in math mode
\end{document}
该图像取自我的 PDF 查看器,显示 € 的两种显示方式均已正确识别。以下是从 PDF 文件复制并简单粘贴的第一行:
€ 文本模式
答案2
比@egreg 的解决方案少做一点工作:只需\text
在数学模式下使用:
\documentclass{article}
\usepackage{eurosym}
\usepackage{amsmath}
\begin{document}
Here's \euro{} in text.
Now in math, inline $\text{\euro}$ and displayed:
\begin{equation*}
\text{\euro}5 + \text{\euro}5 = \text{\euro}10.
\end{equation*}
\end{document}
编辑:定义一个新的宏来节省一些输入:
\newcommand{\meuro}{\text{\euro}}
...
\begin{equation*}
\meuro 5 + \meuro 5 = \meuro 10.
\end{equation*}
答案3
如果您使用该eurosym
包及其命令,\euro
您将获得欧元符号。
尝试运行这个:
\documentclass{article}
\usepackage{eurosym}
\begin{document}
\noindent Sample with eurosym: \euro \\
Sample with e: $e$
\end{document}
你会得到这个输出:
可以看出,$e$
和之间存在很大差异\euro
。
书写时$\euro$
不产生欧元符号,而只产生“e”。