我一直在尝试使用 for inline 和 for display 在 plain 中定义逐字环境TeX
。|...|
最好||...||
使用一种简单的方法来改变,以便可以切换空格的可见性(例如注释掉一行代码或使用不同的字符,如*...*
和**...**
)。
我知道这tugboat.sty
定义了这一点(见行1632-1963
),但这是一个非常漫长的过程,坦率地说很难理解。我想知道最简单的方法TeX
是什么。
我还看到了一些关于纯文本逐字记录的问题TeX
(见定义一个特殊的逐字命令和如何以纯 TeX 显示代码片段),但它们都使用命令(例如\verb{...}
和\verbatim ...\endverbatim
)。
这是出于我自己的好奇心,为了更好地理解TeX
,并用于我自己的简单TeX
文档。
答案1
如果这是您想要的,这里有一个简短的实现(可能不是很强大)。
\catcode`|=\active
\def|{\begingroup \def\do##1{\catcode`##1=12 }\dospecials \verbA}
\def\verbA#1{\ifx|#1\catcode`|=12 \expandafter\verblong \else \verbshort#1\fi}
\long\def\verbshort#1|{\tt#1\endgroup}
\edef\tmp{\long\def\noexpand\verblong##1\string|\string|}
\tmp{$$\hbox{\tt#1}$$\endgroup}
lorem ipsum |{fjasdf&@(^#(%%| dolor ||\bye|\end|| \bye