我使用 xelatex,带有 Ubuntu 字体,但出于某种原因,我无法将 插入\textvisiblespace
到我的文档中 - 我得到的结果只是一个框:“”。有什么方法可以解决这个问题吗?
例子:
\documentclass[a4paper]{article}
\usepackage{xltxtra}
\setmainfont[Mapping=tex-text]{Ubuntu}
\begin{document}
\textvisiblespace
\end{document}
答案1
该字体Ubuntu
不支持 Unicode 字符 2423。使用
\setmainfont[Mapping=tex-text]{DejaVu Serif}
例如。另一种选择可能是:
\documentclass[a4paper]{article}
\usepackage{fontspec}
\setmainfont[Mapping=tex-text]{Ubuntu}
\newfontface\TVSp{DejaVu Serif}
\def\textvisiblespace{{\TVSp\char"2423}}
\begin{document}
\textvisiblespace
\end{document}
答案2
我没有安装字体,所以我不确定这是否是你想要的:
加载 Ubuntu 字体后重新定义
\textvisiblespace
。以下定义取自latex.ltx
:\def\textvisiblespace{% \mbox{\kern.06em\vrule height.3ex}% \vbox{\hrule width.3em}% \hbox{\vrule height.3ex}}
\textvisiblespace
捕获盒子里的内容前加载新字体然后恢复:% Document preamble \newsavebox{\textvisiblespacebox} \begin{lrbox}{\textvisiblespacebox}\textvisiblespace\end{lrbox} % Insert font-related changes here \def\textvisiblespace{\usebox{\textvisiblespacebox}}
\textvisiblespace
请注意,这将修复的设置\normalfont
,因此它不会随着尺寸变化而改变\small
(例如)。