summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/generic/FAQ-en/html/FAQ-ltxcmds.html
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/generic/FAQ-en/html/FAQ-ltxcmds.html')
-rw-r--r--Master/texmf-dist/doc/generic/FAQ-en/html/FAQ-ltxcmds.html122
1 files changed, 0 insertions, 122 deletions
diff --git a/Master/texmf-dist/doc/generic/FAQ-en/html/FAQ-ltxcmds.html b/Master/texmf-dist/doc/generic/FAQ-en/html/FAQ-ltxcmds.html
deleted file mode 100644
index f06fa1e0c17..00000000000
--- a/Master/texmf-dist/doc/generic/FAQ-en/html/FAQ-ltxcmds.html
+++ /dev/null
@@ -1,122 +0,0 @@
-<head>
-<title>UK TeX FAQ -- question label ltxcmds</title>
-</head><body>
-<h3>The definitions of LaTeX commands</h3>
-<p/>There are several reasons to want to know the definitions of LaTeX
-commands: from the simplest &#8220;idle curiosity&#8221;, to the pressing need
-to patch something to make it &#8220;work the way you want it&#8221;. None of
-these are <em>pure</em> motives, but knowledge and expertise seldom
-arrive through the purest of motives.
-<p/>The simple answer is to try <code>\</code><code>show</code>, in a run of LaTeX that is
-taking commands from the terminal:
-<blockquote>
-<pre>
-*\makeatletter
-*\show\protected@edef
-&#62; \protected@edef=macro:
--&#62;\let \@@protect \protect
- \let \protect \@unexpandable@protect
- \afterassignment \restore@protect \edef .
-</pre>
-</blockquote><p>
-(I&#8217;ve rearranged the output there, from the rather confused version
-TeX itself produces.) We may perhaps, now, wonder about
-<code>\</code><code>@unexpandable@protect</code>:
-<blockquote>
-<pre>
-*\show\@unexpandable@protect
-&#62; \@unexpandable@protect=macro:
--&#62;\noexpand \protect \noexpand .
-</pre>
-</blockquote><p>
-and we&#8217;re starting to see how one part of the <code>\</code><code>protect</code>ion
-mechanism works (one can probably fairly safely guess what
-<code>\</code><code>restore@protect</code> does).
-<p/>Many kernel commands are declared robust:
-<blockquote>
-<pre>
-*\show\texttt
-&#62; \texttt=macro:
--&#62;\protect \texttt .
-</pre>
-</blockquote><p>
-so that <code>\</code><code>show</code> isn&#8217;t much help. Define a command <code>\</code><code>pshow</code> as
-shown below, and use that instead:
-<blockquote>
-<pre>
-*\def\pshow#1{{\let\protect\show #1}}
-*\pshow\texttt
-&#62; \texttt =\long macro:
-#1-&#62;\ifmmode \nfss@text {\ttfamily #1}%
- \else \hmode@bgroup \text@command {#1}%
- \ttfamily \check@icl #1\check@icr
- \expandafter \egroup \fi .
-</pre>
-</blockquote><p>
-Note that the command name that is protected is the &#8216;base&#8217; command,
-with a space appended. This is cryptically visible, in a couple of
-places above. (Again, the output has been sanitised.)
-<p/>If one has a malleable text editor, the same investigation may more
-comfortably be conducted by examining the file <i>latex.ltx</i> (which
-is usually to be found, in a TDS system, in directory
-<i>tex/latex/base</i>).
-<p/>In fact, <i>latex.ltx</i> is the product of a <i>docstrip</i>
-process on a large number of <a href="FAQ-dtx.html"><code>.dtx</code> files</a>, and
-you can refer to those instead. The LaTeX distribution includes a file
-<i>source2e.tex</i>, and most systems retain it, again in
-<i>tex/latex/base</i>. <i>Source2e.tex</i> may be processed to
-provide a complete source listing of the LaTeX kernel (in fact the
-process isn&#8217;t entirely straightforward, but the file produces messages
-advising you what to do). The result is a huge document, with a
-line-number index of control sequences the entire kernel and a
-separate index of changes recorded in each of the files since the
-LaTeX team took over.
-<p/>The printed kernel is a nice thing to have, but it&#8217;s unwieldy and sits
-on my shelves, seldom used. One problem is that the comments are
-patchy: the different modules range from well and lucidly documented,
-through modules documented only through an automatic process that
-converted the documentation of the source of LaTeX 2.09, to modules
-that hardly had any useful documentation even in the LaTeX 2.09 original.
-<p/>In fact, each kernel module <code>.dtx</code> file will process separately
-through LaTeX, so you don&#8217;t have to work with the whole of
-<i>source2e</i>. You can easily determine which module defines the
-macro you&#8217;re interested in: use your &#8220;malleable text editor&#8221; to find
-the definition in <i>latex.ltx</i>; then search backwards from that
-point for a line that starts
-<code>%%% From File:</code> &#8212; that line
-tells you which <code>.dtx</code> file contains the definition you are interested
-in. Doing this for <code>\</code><code>protected@edef</code>, we find:
-<blockquote>
-<pre>
-%%% From File: ltdefns.dtx
-</pre>
-</blockquote><p>
-When we come to look at it, <i>ltdefns.dtx</i> proves to contain
-quite a dissertation on the methods of handling <code>\</code><code>protect</code>ion; it
-also contains some automatically-converted LaTeX 2.09 documentation.
-<p/>And of course, the kernel isn&#8217;t all of LaTeX: your command may be
-defined in one of LaTeX&#8217;s class or package files. For example, we
-find a definition of <code>\</code><code>thebibliography</code> in <i>article</i>, but
-there&#8217;s no <i>article.dtx</i>. Some such files are generated from
-parts of the kernel, some from other files in the distribution. You
-find which by looking at the start of the file: in <i>article.cls</i>,
-we find:
-<blockquote>
-<pre>
-%% This is file `article.cls',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% classes.dtx (with options: `article')
-</pre>
-</blockquote><p>
-so we need to format <i>classes.dtx</i> to see the definition in
-context.
-<p/>All these .dtx files are on CTAN as part of the main LaTeX
-distribution.
-<dl>
-<dt><tt><i>LaTeX distribution</i></tt><dd><a href="http://mirror.ctan.org/macros/latex/base.zip">macros/latex/base</a> (or <a href="http://mirror.ctan.org/macros/latex/base/">browse the directory</a>)
-</dl>
-<p/><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=ltxcmds">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=ltxcmds</a>
-</body>