%%%%%%code.sty:逐字程序代码显示的LaTex环境%%%%乔治·弗格森,ferguson@cs.rochester.edu1991年7月3日。%%%%需要Rainer Sch“opf’s(SCHOEPF@SC.ZIB-Berlin.DE(德国柏林))逐字记录的%%样式选项。根据Bernd Raichle的建议%% (raichle@azu.informatik.uni-stuttgart.de公司).%%%%使用LaTeX迭代宏@tfor处理代码的参数%%环境。%%\typeout{Style-option:`code'(乔治·弗格森)}\输入{/u/ferguson/lib/tex/overatim.sty}%%%%各种各样的东西,这样我们可以很容易地“出租”东西。%%\定义\gf@刷左#1{\noindent#1\hfill}\定义\gf@荧光#1{我会放松#1}\定义\gf@缩进#1{\par\hskip\parskip#1\hfill}\定义\gf@noop公司#1{#1}%%%%代码环境格式化\begin{code}{opts}之间的文本%%\以逐字模式结束{code}。包含代码的框仅作为%%像它最长的线一样宽。“opts”解释如下:%%c:将代码块居中%%l:将代码块刷新到左边距%%r:将代码块刷新到右边距%%i:从左侧缩进代码块(通过\parskip)%%f:围绕代码块画一个框架%%t:使结果框的基线位于顶部%%b:使结果框的基线位于底部%%可以接受选项的任何组合和顺序,但只能接受最后一种%%{c,l,r,i}和{t,b}将产生水平和垂直影响,%%分别是。%%默认情况是生成一个左对齐、底部对齐的代码块。%% \新环境{code}[1]{%%重新定义“processline”以仅生成与宽度一样宽的行%作为线条的自然宽度\定义\逐字@processline{%{\setbox0=\hbox{\\逐字@行}%\hsize=\wd0\\逐字@行\平价}}%%设置完成“模式”\全局\let\gf@hadjust(女主角)\hbox(hbox)\全局\let\gf@调节\vbox(vbox)\全局\let\gf@框架\gf@noop公司\@tfor(对于)\gf@字符:=#1\do{\如果\gf@字符c\global\let文件\gf@hadjust(女主角)\中心线\fi\如果\gf@字符l\global\let公司\gf@hadjust(女主角)\gf@刷左\fi(菲涅耳)\如果\gf@字符r \global\let\gf@hadjust(女主角)\gf@荧光\fi(菲涅耳)\如果\gf@字符i\global\let\gf@hadjust(女主角)\gf@缩进\fi(菲涅耳)\如果\gf@字符t\全局\let\gf@调节\vtop\fi\如果\gf@字符b\global\let(全局)\gf@调节\vbox\fi\如果\gf@字符f\global\let(全局)\gf@框架\帧\fi}%将逐字代码保存在框中\设置框0=\gf@调节\b组\逐字}{%\尾声\egroup%关闭框并适当地“框”它\gf@hadjust(女主角){\gf@框架{\box0}}}