Return to Snippet

Revision: 16550
at August 7, 2009 14:08 by deepsoul


Initial Code
\scrollmode

\obeyspaces

\def\shown#1{\expandafter\show\csname\string#1\endcsname}
\def\showthen#1{\expandafter\showthe\csname\string#1\endcsname}
\def\don#1{\csname\string#1\endcsname}
\def\defn#1{\expandafter\def\csname\string#1\endcsname}

% example usage:

% show listing of \x@protect
\shown{@startsection}

% show the value of the skip \@tempskipa
\showthen{@tempskipa}

% execute control sequence "\\ "
\don{\ }

% redefine \@startsection (works like \def)
\defn{@startsection}{\relax}

% use at your own risk.  user forfeits all rights to data integrity, mental health, world order, cookies.

Initial URL
http://www.volkerschatz.com/tex/show.html

Initial Description
These four LaTeX control sequences are workalikes of the built-ins \show, \showthe and \def and of a command sequence call.  Unlike the usual variants, they work on internal macros which contain characters with the "wrong" category code, such as "@".  They take the name of the command sequence (without the leading "\") as their argument.

The \scrollmode is not necessary, it just saves you pressing Return for every listing output.  The \obeyspaces is needed only if you want to display or manipulate control sequences whose names contain spaces.

Gratuitous use of \don and/or \defn will probably break LaTeX.

Initial Title
Show / redefine internal LaTeX macros

Initial Tags
command

Initial Language
LaTeX