Manchmal suche ich die ursprüngliche (und vollständige) Befehlsdefinition eines Latex-Befehls. Der Consolen-Befehl \show bringt da nur sehr dünne Informationen, eine grep-Suche im TeX-Verzeichnis viele Anwendungen und Redefinitionen, unter denen die ursprüngliche Definition nur sehr schwer oder auch gar nicht herauszufinden ist. Gibt es ein Verzeichnis von Befehlen und Makros oder eine Möglichkeit, einzelne Makros aus den Paketen herauszufiltern oder auch nur eine Möglichkeit herauszufinden, wo ein Befehl oder Makro das erste Mal definiert wurde? gefragt 16 Mär '14, 23:12 ctansearch esdd |
Das Perlskript Nebenbemerkung: Für MiKTeX muss eine externe Perl-Distribution installiert sein, TeX Live dagegen verwendet einen eigenen Perl-Interpreter. Um eine Definition unter LaTeX herauszufinden, gibt man Man kann auch Einschränkungen machen auf eine Klasse ( Ein Beispiel: C:\>texdef -t latex -c article section \section: \long macro:->\@startsection {section}{1}{\z@ }{-3.5ex \@plus -1ex \@minus -.2ex }{2.3ex \@plus .2ex}{\normalfont \Large \bfseries } C:\>texdef -t latex -s -c article section % article.cls, line 312: \newcommand\section{\@startsection {section}{1}{\z@}% {-3.5ex \@plus -1ex \@minus -.2ex}% {2.3ex \@plus.2ex}% {\normalfont\Large\bfseries}} C:\>texdef -t latex -s -c article @startsection % latex.ltx, line 5628: \def\@startsection#1#2#3#4#5#6{% \if@noskipsec \leavevmode \fi \par \@tempskipa #4\relax \@afterindenttrue \ifdim \@tempskipa <\z@ \@tempskipa -\@tempskipa \@afterindentfalse \fi \if@nobreak \everypar{}% \else \addpenalty\@secpenalty\addvspace\@tempskipa \fi \@ifstar {\@ssect{#3}{#4}{#5}{#6}}% {\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}} Die Angabe ohne beantwortet 17 Mär '14, 19:30 Speravir @speravir Klasse!
(17 Mär '14, 20:14)
ctansearch
|
Ich verstehe die Frage nicht... Was genau meinst Du mit »ursprüngliche« Definition? Die Definition eines Makros wird mit
\show
ja gezeigt und man sieht auch, ob es Hilfsmakros aufruft, deren Definition man sich wiederum mit\show
anzeigen lassen kann. Darüber, ob ein Makro umdefiniert wurde, gibt es (soweit ich weiß) keine Info. Wenn Du keine Pakete lädst, hast Du die reinen (ursprünglichen) LaTeX Kernel-Befehle zur Verfügung, die inlatex.ltx
definiert werden und insource2e
beschrieben sind.@Clemens Ok, mit dem Hinweis kann ich was anfangen. \show zeigt allerdings nur die direkte und minimale Definition und auch nicht, wo genau sie erzeugt wird und welche Vordefinitionen dazugehören. (von Zeile x bis Zeile y in Datei z) Hilfreicher Hinweis!