我为逐字块使用特定的单字字体。在我的逐字记录块中,某些字符未包含在字体中。如this post中建议的那样,可以使用其他字体,也可以使用pmboxdraw
包来呈现不支持的字符。但似乎对我不起作用。
以下是MWE,其中黑色圆圈(即第二行的第一个字符)无法正确绘制。我的意图是使用我用于逐字记录块的monofont,并为黑圈字符使用任何替代字体。有解决方案吗?非常感谢!
\documentclass{article}
\usepackage{fancyvrb}
\usepackage[utf8]{inputenc}
\usepackage{pmboxdraw}
\usepackage{fontspec}
\setmonofont[Path=./fonts/PragmataPro/,
UprightFont=*-R,
ItalicFont=*-RI,
BoldFont=*-B,
BoldItalicFont=*-BI]{PragmataPro}
\begin{document}
\begin{Verbatim}
$ systemctl status redsocks
● redsocks.service - Redsocks transparent SOCKS proxy redirector
Loaded: loaded (/lib/systemd/system/redsocks.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2019-10-28 16:14:16 CST; 5s ago
Process: 1499 ExecStart=/usr/sbin/redsocks -c ${CONFFILE} (code=exited, status=0/SUCCESS)
Process: 1496 ExecStartPre=/usr/sbin/redsocks -t -c ${CONFFILE} (code=exited, status=0/SUCCESS)
\end{Verbatim}
\end{document}
使用xelatex
的输出显示黑圈显示不正确:
顺便说一句,如果我没有指定自定义的单色字体,则根本不会绘制黑色圆圈。
% !TeX TS-program = xelatex
\documentclass{article}
\usepackage{fancyvrb}
\usepackage[utf8]{inputenc}
\usepackage{newunicodechar}
\usepackage{fontspec}
\setmonofont{Monaco}
\newunicodechar{●}{\textbullet}
\begin{document}
\begin{Verbatim}
$ systemctl status redsocks
● redsocks.service - Redsocks transparent SOCKS proxy redirector
Loaded: loaded (/lib/systemd/system/redsocks.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2019-10-28 16:14:16 CST; 5s ago
Process: 1499 ExecStart=/usr/sbin/redsocks -c ${CONFFILE} (code=exited, status=0/SUCCESS)
Process: 1496 ExecStartPre=/usr/sbin/redsocks -t -c ${CONFFILE} (code=exited, status=0/SUCCESS)
\end{Verbatim}
\end{document}