[texhax] dual-use input/output macro
Uwe Lück
uwe.lueck at web.de
Tue Oct 17 22:37:59 CEST 2006
(found this by accident again, now having definite concise answers:)
>Karl Berry :
>>Suppose I want to show both the TeX input and its corresponding output
>>as an example. Not big files, but just small fragments. As in:
>>
>> \showme{hello, \relax there}
>>
>>and the typeset output could be, say, two lines:
>>
>> hello, \relax there % in typewriter
>> hello, there % in roman
>>
>>I cannot think of any easy way to do this. About all I can imagine is
>>changing all the catcodes to other before reading the argument, printing
>>the arg in tt, then writing the arg to an external file, and
>>reading it back with normal catcodes to get the normal output.
\def\showme#1{%
\def\toshow{#1}\@onelevel at sanitize\toshow
\fbox{\ttfamily\toshow}\qquad\fbox{#1}}
-- tested! \@onelevel at sanitize is from latex.ltx. --
Note that this doesn't use any external file,
it neither changes catcodes explicitly, so even works
in \footnote{...} etc. -- This is essentially from TeXbook
p. 382 top; using that \meaning produces "other"
characters only. And I have learnt this from the index
package, to which it came from Donald Arseneau.
At 21:54 17.11.05, Lars Madsen wrote:
>But there should be a rather exotic package by Peter Sabo (if it's spelled
>like that), I've forgotten the name, but he gave a talk about it at
>EuroTeX 2005.
Indeed, Peter Szabo,
CTAN: /macros/latex/contrib/examplep/[eurotex_2005_examplep.pdf]
I would estimate it "impressive" rather than "exotic" [;-) to Lars Madsen].
Cheers,
Uwe.
More information about the texhax
mailing list