Bei Windows kann man über `Suchen` auch nach Inhalten suchen. Den Dialog `Suchen` findet man bis Windows 7 im Startmenü und im Windows Explorer (nicht zu verwechseln mit dem Internet Explorer). Wenn die Dateien des TeX-Baums indiziert sind, ist die Suche recht schnell. Es ist außerdem sinnvoll, die Suche auf eben den TeX-Baum zu beschränken, damit sie nur relevante Treffer findet.
Bei Linux gibt es verschiedene Werkzeuge. Das einfachste Werkzeug ist `grep`, das in der gnu-Version mit Option `-R` auch rekursive in einem Dateibaum suchen kann. Darüber hinaus gibt es aber auch Suchen, die mit Indexdiensten arbeiten. Der bekannteste davon ist `Nepomuk`. Seine Bekanntheit rührt aber in erster Linie daher, dass in früheren Versionen, das zugehörige Index-Programm `virtuosu` gerne mehrere CPUs mit 100% Last belegt und so das gesamte System ausgebremst hat. Die Suche selbst ist auch hier meist in die Dateibrowser, beispielsweise das KDE-Programm Dolphin, integriert. Auch hier ist eine Beschränkung der Suche auf Teile des Dateisystems möglich und sinnvoll.
Ich selbst suche übrigens vorzugsweise im Anleitungszweig, statt im gesamten TEXMF-Baum, weil ich dabei eher auf die definierten Befehle stoße. Selbst, wenn ich dort auf die Verwendung eines Befehls stoße, finde ich im Umfeld der Stelle meist einen Hinweis auf das benötigte Paket.
Bei einfachen Paketen, die nur wenige Befehle bereitstellen, hilft manchmal auch die Suche auf CTAN, beispielsweise bei der [Suche nach `\FloatBarrier`][1]. Früher konnte man dort auch die Anleitungen selbst durchsuchen, was seit der Überarbeitung der Oberfläche leider nicht mehr möglich ist.
Die [(La)TeX-Befehlsliste][2] bietet ebenfalls eine gute Möglichkeit, um zu einem Befehl die bereitstellenden Dateien und Pakete zu finden. Über die URL ein Eingabefeld kann man dort auch nach dem TeX-Live-Paket und den Dateien suchen, beispielsweise nach [`\\AfterPackage`][3]. in denen ein (La)TeX-Befehl definiert ist. Erfasst sind *Anwenderanweisungen*, aber keine internen Befehle oder TeX-Primitive. Dabei werden alle Anweisungen, deren Name nur aus Buchstaben besteht, als Anwenderanweisungen betrachtet. Die Liste enthält derzeit allerdings keine Befehlen, die mit Hilfe von [`xparse`][4] [`xparse`][3] definiert wurden. Ebenso scheinen nicht alle `\if…` enthalten zu sein. Darüber hinaus beschränkt sie sich auf Pakete, die in TeX Live enthalten sind.
sind.
Es gibt aber auch ein [perl-Script][4] zum Herunterladen. Damit kann man sich unter Linux mit einer vollständigen TeX-Live-Installation einschließlich `tlmgr` eine eigene Befehlsdatenbank anlegen, eine HTML-Übersichtseite erstellen und in der erzeugten Datenbank nach Befehlen suchen. Das Script können erfahrende perl-Hacker nach eigenem Belieben erweitern.
In der Regel sollte sich das Problem aber für Anwender gar nicht stellen, denn in der Regel sollten sie beim Schreiben problemorientiert zunächst ein für das Problem passendes Paket suchen und in der zugehörigen Anleitung dann die benötigten Befehle finden. Bei Lösungen im Internet, die nur die Befehle aber nicht die zugehörigen Pakete nennen, sollte man von vornherein vorsichtig sein.
Das Problem stellt sich also eher den Experten, die von Hilfesuchenden mit nicht funktionierenden Code-Schnippseln konfrontiert werden. Hier ist die einfache Lösung, den Fragesteller nach einem [VM][5] zu fragen.
[1]: http://www.ctan.org/search?phrase=\FloatBarrier
[2]: http://www.komascript.de/texcommandlist
[3]: http://www.ctan.org/pkg/xparse
[4]: http://www.komascript.de/texcommands
[3]: http://www.komascript.de/texcommands-A#AfterPackage
[4]: http://www.ctan.org/pkg/xparse
[5]: http://texwelt.de/wissen/fragen/569/was-ist-ein-vollstandiges-minimalbeispiel-oder-kurz-vm-und-wie-erstelle-ich-dieses