
使用純 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`\}}