在 bplain 中,使用字体 \tt 时,\`{} 与下一个字符组合

在 bplain 中,使用字体 \tt 时,\`{} 与下一个字符组合

使用纯 TeX 例如

{\tt\char`\\\`{}\char`\{\char`\}}

确实显示

\`{}

正如预期的那样。使用 bplain 格式,重音符和左括号结合在一起。

为什么 bplain 在这里不同?

如何使用 \tt 字体在 bplain 中打印重音符?

答案1

有一个关键的区别:普通的 TeX 定义\`

\def\`#1{{\accent18 #1}}

\show\`给出bplain.tex

> \`=macro:
->\OT1-cmd \`\OT1\` .

\expandafter\show\csname OT1\string\`\endcsname产生

> \OT1\`=\long macro:
#1->\accent 18 #1.

缺少括号是罪魁祸首;使用普通的 TeX 定义,右括号使\accent变成\char,但在bplain定义中,下一个标记成为重音符号。

解决方案。要么给出更合理的定义

\expandafter\def\csname OT1\string\`\endcsname#1{{\accent 18 #1}}

或者简单定义

\chardef\textgraveaccent=18

并做

{\tt\char`\\\textgraveaccent\char`\{\char`\}}

相关内容