So prüfen Sie, ob ein Makro vonwird in einem Dokument verwendet?

So prüfen Sie, ob ein Makro vonwird in einem Dokument verwendet?

Ich war an einer Methode interessiert, um zu überprüfen, ob ein Makro aus einem Paket in einer TEX-Datei verwendet wird.

So möchte ich beispielsweise ein Paket angeben (sagen wir, es ist fontawesome), dann auf eine .tex-Datei zeigen und fragen, ob in dieser .tex-Datei ein Makro aus dem angegebenen Paket gefunden werden kann.

Ist es möglich?

Antwort1

(1) Kommentieren Sie die Zeile, die das Paket lädt, das Sie testen möchten:

\documentclass{article}
%\usepackage{fontawesome}
\begin{document}
The  \faBook  
And  
the \faCloud
\end{document}

(2) Kompilieren Sie von der Kommandozeile aus yourfilein nonstopmode:

lualatex -interaction=nonstopmode yourfile

Mit dem obigen MWE sehen Sie in der Ausgabe, dass die Zeilen 4 und 6 jetzt undefinierte Makros haben:

! Undefined control sequence.
l.4 The \faBook

! Undefined control sequence.
l.6 the  \faCloud

Beim Aktivieren des Pakets treten keine Fehler auf,ergoDiese Befehle sind in diesem Paket definiert (oder durch dieses Paket, wie der Kommentar von Egreg andeutete).

Beachten Sie, dass diese Fehlermeldungen auch yourfile.logfür spätere forensische Analysen in gespeichert werden. Wahrscheinlich kann Ihr bevorzugter LaTeX-Editor die Ausgabe-/Protokollfehler direkt kompilieren und anzeigen (nur die ersten ohne nonstopmode), sodass Sie sich nicht mit der Befehlszeile herumschlagen müssen.

verwandte Informationen