我正在使用 LaTeX 创建发票文档,文档中应该包含任何货币符号。但是,在转换为 PDF 时,符号从未显示,很可能是因为我没有使用正确的软件包。有人能给我指出正确的方向吗?我需要安装软件包和字体列表才能在我的文档中使用这些字符吗?该文档是用 Python 创建的,货币符号是从哈希表中获取的。如果这很重要的话,我在 Linux 机器上。
假设我只想让文档打印这些字符,我该怎么做?是否有包含所有这些的字体或包?:
一天 ₪ ₹ ع.د ₲ ฿ ₩ ¥ ؋
答案1
使用提供字形的字体:
\documentclass{article}
\usepackage{fontspec}
\setmainfont{Linux Libertine O} % or whatever
\newfontfamily{\currencies}{FreeSerif}[Scale=MatchUppercase]
\begin{document}
{\currencies ден ₪ ₹ ع.د ₲ ฿ ₩ ¥ ؋}
\end{document}
一种不同的方法(但仅适用于单个字形),从当前字体中获取字形(如果存在)或从后备字体中获取\currencies
:
\documentclass{article}
\usepackage{fontspec}
\setmainfont{Linux Libertine O} % or whatever
\newfontfamily{\currencies}{FreeSerif}[Scale=MatchUppercase]
\newcommand{\curr}[1]{%
{\iffontchar\font`#1 #1\else\currencies#1\fi}%
}
\begin{document}
\curr{₪}
\curr{₹}
\curr{¥}
\curr{₩}
\curr{฿}
\curr{₲}
\curr{؋}
\end{document}
您甚至可以\curr
通过加载来避免使用newunicodechar
:
\documentclass{article}
\usepackage{fontspec}
\usepackage{newunicodechar}
\setmainfont{Linux Libertine O} % or whatever
\newfontfamily{\currencies}{FreeSerif}[Scale=MatchUppercase]
\newcommand{\curr}[1]{%
{\iffontchar\font`#1 #1\else\currencies#1\fi}%
}
\newunicodechar{₪}{\curr{₪}}
\newunicodechar{₹}{\curr{₹}}
\newunicodechar{¥}{\curr{¥}}
\newunicodechar{₩}{\curr{₩}}
\newunicodechar{฿}{\curr{฿}}
\newunicodechar{₲}{\curr{₲}}
\newunicodechar{؋}{\curr{؋}}
\begin{document}
₪ ₹ ¥ ₩ ฿ ₲ ؋
\end{document}
答案2
由于您使用 进行编译XeLaTeX
,因此字体中有许多货币符号fontawesome
。该包fontawesome
有助于使用此字体,但不幸的是,它定义了字体版本 3.1 的命令,而该版本没有货币符号。
您可以下载最新版本4.3
的字体(这里并使用以下代码的序言;它定义了命令和一些别名以便在 .tex 文件中使用它们:
\documentclass[12pt,a4paper]{article}
\usepackage{fontspec}
\usepackage{booktabs}
\usepackage{array}
\usepackage[x11names]{xcolor}
\usepackage{fontawesome}
\makeatletter
\expandafter\def\csname faicon@mobile\endcsname {\symbol{"F10B}} \def\faMobile {{\FA\csname faicon@mobile\endcsname}}
\expandafter\def\csname faicon@eur\endcsname {\symbol{"F153}} \def\faEur {{\FA\csname faicon@eur\endcsname}}
\expandafter\def\csname faicon@gbp\endcsname {\symbol{"F154}} \def\faGbp {{\FA\csname faicon@gbp\endcsname}}
\expandafter\def\csname faicon@usd\endcsname {\symbol{"F155}} \def\faUsd {{\FA\csname faicon@usd\endcsname}}
\expandafter\def\csname faicon@inr\endcsname {\symbol{"F156}} \def\faInr {{\FA\csname faicon@inr\endcsname}}
\expandafter\def\csname faicon@jpy\endcsname {\symbol{"F157}} \def\faJpy {{\FA\csname faicon@jpy\endcsname}}
\expandafter\def\csname faicon@rub\endcsname {\symbol{"F158}} \def\faRub {{\FA\csname faicon@rub\endcsname}}
\expandafter\def\csname faicon@krw\endcsname {\symbol{"F159}} \def\faKrw {{\FA\csname faicon@krw\endcsname}}
\expandafter\def\csname faicon@btc\endcsname {\symbol{"F15A}} \def\faBtc {{\FA\csname faicon@btc\endcsname}}
\expandafter\def\csname faicon@try\endcsname {\symbol{"F195}} \def\faTry {{\FA\csname faicon@try\endcsname}}
\expandafter\def\csname faicon@ils\endcsname {\symbol{"F20B}} \def\faIls {{\FA\csname faicon@ils\endcsname}}
%%Aliases
\expandafter\def\csname faicon@bitcoin\endcsname {\faBitcoin} \def\faBitcoin {\faBtc}
\expandafter\def\csname faicon@dollar\endcsname {\faDollar} \def\faDollar {\faUsd}
\expandafter\def\csname faicon@euro\endcsname {\faEuro} \def\faEuro {\faEur}
\expandafter\def\csname faicon@ruble\endcsname {\faRuble} \def\faRuble {\faRub}
\expandafter\def\csname faicon@rupee\endcsname {\faRupee} \def\faRupee {\faInr}
\expandafter\def\csname faicon@shekel\endcsname {\faShekel} \def\faShekel {\faIls}
\expandafter\def\csname faicon@sheqel\endcsname {\faSheqel} \def\faSheqel {\faIls}
\expandafter\def\csname faicon@turkish-lira\endcsname {\faTurkishLira} \def\faTurkishLira {\faTry}
\expandafter\def\csname faicon@won\endcsname {\faWon} \def\faWon {\faKrw}
\expandafter\def\csname faicon@yen\endcsname {\faYen} \def\faYen {\faJpy}
\makeatother
\begin{document}
\begin{center}
\Huge
\fontspec{fontawesome.otf}
\begin{tabular}{>{\color{Turquoise1}}c >{\color{HotPink3}} c >{\color{DarkSeaGreen2}}c }
\toprule
\faEur& \faGbp & \faUsd\\
\faRupee & \faYen & \faRuble \\
\faWon & \faShekel & \faTurkishLira \\
& \faBtc\\
\bottomrule
\end{tabular}
\end{center}
\end{document}