我正在使用Knuth 的\begintt
和,我想排版撇号,而不是撇号。我的代码如下所示:\endtt
taocpmac.tex
\input taocpmac
\begintt
a' = a + 1
\endtt
\bye
此模式下的转义字符已切换,|
但我不知道该使用什么命令。该字形存在于计算机现代 tt(字形编号 411)中,那么我该如何访问它?
答案1
答案2
我猜您想要的'
是位于 的第 13 个位置的直引号cmtt10
。
\input taocpmac
% a helper macro
\def\activequote{\begingroup
\lccode`~=`'\lowercase{\endgroup\chardef~}13
\catcode`'=\active}
% add to \ttverbatim
\expandafter\def\expandafter\ttverbatim\expandafter{\ttverbatim\activequote}
\begintt
a' = a + 1
\endtt
\bye
这段代码起什么作用?
\activequote
使活动引言产生当前字体中第 13 个位置的字符并激活引言\activequote
添加到替换文本的末尾\ttverbatim
的等效重新定义\ttverbatim
为
\toks0=\expandafter{\ttverbatim\activequote}
\edef\ttverbatim{\the\toks0}