帮助:我的 TexLive 发行版似乎缺少一个字符

帮助:我的 TexLive 发行版似乎缺少一个字符

我注意到我的特定版本texlive(Arch Linux texlive-core 2021.62793-1)似乎缺少一些字符。

特别是,文件

\documentclass{article}  
\begin{document}  
    A{\ttfamily\char32}B\textvisiblespace C
\end{document}

产生以下输出:在此处输入图片描述

然而,当我在 overleaf 上编译同一个文件时,它正确显示了ttfamilyA 和 B 之间文本可见空间的呈现。

在此处输入图片描述

有人知道为什么会发生这种情况吗?我该如何调试这个问题?TexLive 中默认 ttfamily 字体的定义在哪里?

答案1

如果你编译pdflatex你得到

在此处输入图片描述

因为默认cmtt10字体在插槽 32 处有该字形。

如果你使用 XeLaTeX 或 LuaLaTeX 进行编译,你会得到

在此处输入图片描述

因为默认的 Latin Modern Typewriter 字体在第 32 个插槽处有一个空白。

这就是 LaTeX 定义 的主要原因\textvisiblespace。最大的优点是你可以重新定义以满足您的需要。

例如,你可以这样做

\documentclass{article}
\usepackage{iftex}

\iftutex
  \DeclareRobustCommand{\textvisiblespace}{\texttt{\symbol{"2423}}}
\else
  \DeclareRobustCommand{\textvisiblespace}{\texttt{\symbol{32}}}
\fi

\begin{document}  

B\textvisiblespace C

\end{document}

使用所有引擎,

在此处输入图片描述

相关内容