使用 XeLaTeX,我可以使用以下方法获得支票和选票 x 标记pifont
:
和pifont
:
\documentclass{article}
\usepackage{fontspec}
\setmainfont{TeX Gyre Termes}
\usepackage{pifont}
\newcommand{\cmark}{\ding{51}}%
\newcommand{\xmark}{\ding{55}}%
\begin{document}
\begin{tabular}{ccc}
\cmark & Yes
\\
\xmark & No
\end{tabular}
\end{document}
目标:要在我的 XeLaTeX 文档中仅使用 Unicode 字符来匹配这些字符,请执行以下操作:
\documentclass{article}
\usepackage{fontspec}
\usepackage{unicode-math}
\defaultfontfeatures{Scale=MatchLowercase, Ligatures=TeX }
\setmainfont{TeX Gyre Termes}[Scale=1.0]
\setmathfont{TeX Gyre Termes Math}
\setmathfont{STIX Two Math}[range={\checkmark,\ballotx}]
\newcommand{\cmark}{\checkmark}
\newcommand{\xmark}{\ballotx}
\begin{document}
\begin{tabular}{ccc}
\cmark & Yes
\\
\xmark & No
\end{tabular}
\end{document}
对于 来说,这没问题\checkmark
,但是对于 ,我收到“未定义的控制序列”错误\ballotx
。
我确实意识到任何给定的 Unicode 字体可能没有我想要的特定符号;也就是说不是这才是真正的问题。
问题:如何找到正确的姓名用于表示“重选 x” — 或者就此而言,任何其他特定符号 — 与\setmathfont{...}[range[{...}]
? 一起使用。也就是说,类似于的名称\checkmark
(如果字体有它,则可以使用)。
每当我尝试通过查看 Unicode 字符的描述来识别符号时,我经常会看到多个单词的名称,例如“Unicode 字符‘BALLOT X’(U+2717)”。但这并不能告诉我什么姓名用于角色!
XeLaTeX 和 OTF 字体的解决方案\cmark
:\xmark
感谢https://tex.stackexchange.com/a/553109/13492,https://tex.stackexchange.com/a/553095/13492,并使用 UnicodeChecker 应用程序和otfinfo -g
命令,我得到以下解决方案:
% !TeX program =xelatexmk
\documentclass{article}
\usepackage{fontspec}
\usepackage{unicode-math}
\setmainfont{TeX Gyre Termes}
\setmathfont{TeX Gyre Termes Math}
\usepackage{graphicx}
\newfontfamily{\xcheckmarkfont}{LibertinusSerif-Regular.otf}
\newcommand{\cmark}{\scalebox{1.2}[1.4]{\rotatebox{-8}{\xcheckmarkfont\char"2714}}}
\newcommand{\xmark}{\scalebox{1.2}[1.42]{\raisebox{-.1ex}{\xcheckmarkfont\char"2718}}}
\RequirePackage[names]{xcolor}
\newcommand{\greencheck}{\color{green!70!brown}{\cmark}}
\newcommand{\redx}{\color{red}{\xmark}}
\begin{document}
\begin{tabular}{lc}
\cmark & Yes
\\
\xmark & No
\end{tabular}
\end{document}
结果:
要求:
pifont
我们将非常欢迎提出改进结果的建议,以便更紧密地匹配输出!