在 bplain 中,使用字體 \tt 時,\`{} 與下一個字元組合

在 bplain 中,使用字體 \tt 時,\`{} 與下一個字元組合

使用純 TeX 例如

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

確實顯示

\`{}

正如預期的那樣。在 bplain 格式中,重音符號和左大括號結合在一起。

為什麼 bplain 在這裡有所不同?

如何用 \tt 字型在 bplain 中列印重音符號?

答案1

有一個關鍵的區別:plain 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`\}}

相關內容