Der Fehler im Titel dieser Frage ist bestimmt schon dem einen oder der anderen untergekommen. Folgendes stellvertretende Mini-Beispiel demonstriert die Fehlermeldung: Open in writeLaTeX
\documentclass{article} \usepackage{foo} \begin{document} \end{document} Es liefert den Fehler Open in writeLaTeX
! LaTeX Error: File `foo.sty' not found. Type X to quit or <RETURN> to proceed, or enter new name. (Default extension: sty) Enter file name: ! Emergency stop. <read *> l.3 \begin {document}^^M Wie löst man das am besten? Wie installiere ich denn ein fehlendes Paket? gefragt 23 Jun '14, 21:04 cgnieder |
Hat mein kein Original TeX Live, sondern ein TeX Live einer Linux Distribution, so ist diese häufig veraltet und bietet meist auch kein apt-file search Dateinamennach der Datei suchen und erhält dann den Namen des Linux-Pakets, das man über den Linux-Paketmanager installieren kann. Natürlich gibt es auch hier die Möglichkeit, ein Paket manuell zu installieren. Der dazu notwendige Weg ist in meiner Antwort für das Original TeX Live beschrieben. Alternativ kann man ein Original-TeX-Live installieren, so dass einem dann alle Wege offen sind, die ich dafür in meiner getrennten Antwort bereits angegeben habe. Es ist zu beachten, dass durch die Installation eines Original-TeX-Live die Linux-Pakete für TeX Live nicht deinstalliert werden. Man hat dann also ggf. zwei TeX-Live-Installationen, zwischen denen man mit entsprechenden Einstellungen für die Environment-Variable Hinweis: Ich verwende seit Jahren keine Linux-Pakete für TeX-Live mehr. Entsprechend kurz ist die Antwort ausgefallen. Ich empfehle eigentlich bei Problem meist, ein aktuelles Original-TeX-Live zu installieren.
(24 Jun '14, 10:00)
gast3
|
Als allererstes sollte man überprüfen, dass man sich bei dem Namen des Pakets nicht vertippt hat. Das erscheint zwar als selbstverständlich, ist aber nach meiner Erfahrung eine sehr häufige Ursache der Fehlermeldung. Bei MiKTeX ist meist der einfachste Weg, dieses Problem zu lösen, indem man das automatische Nachinstallieren von Paketen (mit oder ohne Nachfrage) aktiviert. MiKTeX stellt eine entsprechende Frage während der Installation. Hat man die Nachinstallation mit Nachfrage aktiviert, sollte man allerdings nicht TXC 1 als Editor verwenden, da das damit nicht funktioniert. MiKTeX erkennt dann bei fehlenden Dateien selbst, ob und zu welchem MiKTeX-Paket sie gehören und installiert dieses bei einer bestehenden Online-Verbindung zum Repository, das im Paketmanager konfiguriert wurde, selbstständig nach. Sitzt man an einem Rechner, der keinen Online-Zugriff erlaubt, so kann man sich dadurch behelfen, dass man auf einem Rechner mit Online-Zugriff, den MiKTeX Net Installer verwendet, um eine lokale Kopie des Repositories anzulegen. Dieses kann man beispielsweise auf einem USB-Stick ablegen. Diese lokale Kopie kann man dann im MiKTeX-Paketmanager des Rechners ohne Online-Zugriff als Repository eintragen. Auch mit einem solchen lokalen Repository ist dann eine automatische Nachinstallation von Paketen möglich. Hat man nicht die automatische Nachinstallation aktiviert, muss man zunächst herausfinden, zu welchem MiKTeX-Paket die fehlende Paketdatei gehört. Wie @esdd in einem Kommentar erklärt, geht das ganz einfach über den Paketmanager: Dazu gibt man in das Feld Achtung: Die automatische Nachinstallation führt auch bei einer Mehrbenutzerinstallation immer eine Benutzerinstallation des Pakets durch. Das Paket wird also dabei nicht für alle, sondern nur für den jeweiligen Benutzer installiert. Installiert man später Pakete über den Paketmanager im Adminmodus, so wird trotzdem das Paket der Benutzerinstallation verwendet. Führt man Updates im Adminmodus durch, so wird das Benutzerpaket nicht aktualisiert. Man muss also ggf. zusätzlich auch ein Update im Benutzermodus durchführen, um alle Paket aktuell zu haben. Für Pakete, die nicht über den Paketmanager verfügbar sind, läuft das ganze etwas anders. Zunächst sollte man in diesem Fall abklären, ob es sich dabei überhaupt um ein aktuelles, freies Paket handelt. Oftmals vagabundieren durch das Internet Beispiele, die Pakete enthalten, die aus gutem Grund nicht von MiKTeX angeboten werden. Dabei genügt es allerdings nicht, dass ein Paket veraltet ist, da MiKTeX auch eigentlich veraltete Pakete noch sehr lange unterstützt. Dann muss man sich zunächst die Paketdatei beispielsweise von CTAN oder der Homepage des Pakets beschaffen. Je nachdem, muss man (ganz nach den Anleitungen in den entsprechenden TeXwelt-Artikeln) die Paketdatei(en) aus den Paketquellen erzeugen und anschließend die Paketdatei(en) installieren, wobei man ggf. ein Update der Filename Database nicht vergessen darf! Ist alles erfolgreich verlaufen, so verschwindet die Fehlermeldung beim nächsten LaTeX-Lauf. Sollte man selbst mit Hilfe von Internet-Suchmaschinen nicht in der Lage sein, das CTAN-Paket oder die Homepage zu einem Paket zu finden, kann man gerne eine entsprechende Frage, etwa »Wo finde ich Paket …?« hier auf TeXwelt stellen. beantwortet 24 Jun '14, 08:59 gast3 Hinweis: Meine Erfahrungen mit MiKTeX sind eher rudimentär! Entsprechend ist die Antwort ausgefallen, die sicher noch verbessert werden kann.
(24 Jun '14, 09:58)
gast3
Wenn eine Datei vom MiKTeX Paketmanager bereit gestellt wird, dann kann man auch direkt im Paketmanager herausfinden, zu welchem MiKTeX-Paket die Datei gehört. Dazu gibt man in das Feld File name den vollständigen Dateinamen ein, ggf. unter Verwendung von Platzhaltern. Nach einem Klick auf Filter, werden nur noch Pakete angezeigt, die eine passende Datei enthalten. Über das Kontextmenü der einzelnen Pakete kann man ein solches MiKTeX-Paket installieren oder sich weitere Informationen zu dem Paket sowie eine komplette Liste der enthaltenen Dateien anzeigen lassen.
(24 Jun '14, 14:01)
esdd
|
Für Original TeX Live gibt es ebenfalls so etwas wie die automatische Nachinstallation von Paketen, wenn man Bei der Standardinstallation des originalen TeX-Live wird eine Vollinstallation durchgeführt. Das heißt es werden alle Pakete installiert, die von TeX Live bereitgestellt werden. Es kann allerdings sein, dass seit der letzten Installation neue Pakete hinzugekommen sind. Hier hilft es, wenn man mit dem TeX Live Manager, tlmgr update --allGgf. erhält man eine Warnung, dass zunächst die Infrastuktur mit tlmgr update --selferneuert werden muss. In diesem Fall sollte man genau das tun und danach erneut das Update starten. Will man erst einmal sehen, was bei einem Update geschehen würde, so gibt man als zusätzliche Option Ggf. kann man auch einzelne TeX-Live-Pakete mit tlmgr update PAKETNAMEaktualisieren oder mit tlmgr install PAKETNAMEinstallieren. Hat man keine Vollinstallation, so kann man ebenfalls mit tlmgr install PAKETNAMEfehlende Pakete nachinstallieren. Man kann dabei auch mehr als einen PAKETNAME angeben. Die Namen der TeX-Live-Pakete findet man ähnlich wie bei MiKTeX über die CTAN-Suche. Eine weitere Möglichkeit ist, mit tlmgr --global search --file PAKETDATEIdie Paketdatenbanken der Repositories nach dem zugehörigen TeX-Live-Paket zu befragen. So liefert beispielsweise tlmgr --global search --file showframe.styals Antwort: eso-pic: texmf-dist/tex/latex/eso-pic/showframe.styDie Datei showframe.sty ist also im TeX-Live-Paket eso-pic enthalten und kann bei Bedarf mit
tlmgr install eso-picinstalliert werden. Für Pakete, die nicht als TeX-Live-Paket verfügbar sind, läuft das ganze etwas anders. Zunächst sollte man in diesem Fall abklären, ob es sich dabei überhaupt um ein aktuelles, freies Paket handelt. Oftmals vagabundieren durch das Internet Beispiele, die Pakete enthalten, die aus gutem Grund nicht von TeX Live angeboten werden. Dabei genügt es allerdings nicht, dass ein Paket veraltet ist, da TeX Live auch eigentlich veraltete Pakete noch sehr lange unterstützt. Dagegen werden Pakete mit unklarer bzw. nicht freier Lizenz von TeX Live grundsätzlich nicht angeboten. Dann muss man sich zunächst die Paketdatei beispielsweise von CTAN oder der Homepage des Pakets beschaffen. Je nachdem, muss man (ganz nach den Anleitungen in den entsprechenden TeXwelt-Artikeln) die Paketdatei(en) aus den Paketquellen erzeugen und anschließend die Paketdatei(en) installieren. Für Paket, die in Ist alles erfolgreich verlaufen, so verschwindet die Fehlermeldung beim nächsten LaTeX-Lauf. Sollte man selbst mit Hilfe von Internet-Suchmaschinen nicht in der Lage sein, das TeX-Live-Paket bzw. das CTAN-Paket oder die Homepage zu einem Paket zu finden, kann man gerne eine entsprechende Frage, etwa »Wo finde ich Paket …?« hier auf TeXwelt stellen. beantwortet 24 Jun '14, 09:33 gast3 |
Für die, die noch in der Console kompilieren: Die Meldung: Open in writeLaTeX
! LaTeX Error: File `foo.sty' not found. Type X to quit or <RETURN> to proceed, or enter new name. (Default extension: sty) Enter file name: kann man damit beantworten, daß man entweder RETURN drückt und die geforderte Datei damit ignoriert wird, oder x eingibt, womit der Vorgang abgebrochen wird, oder durch Eingabe eines gültigen Pfades und Dateinamens. Wenn nur der Dateiname angegeben wird, so wird im Standardpfad gesucht, wird ein Pfad angegeben, dann in diesem. Voreinstellung ist die Dateiendung .sty, man kann aber auch andere Dateien angeben, indem man datei.ext angibt. beantwortet 24 Jun '14, 23:31 ctansearch |
Vielleicht verschiedene Antworten für TeX Live und MiKTeX und eine Unterscheidung zwischen Paketen, die im Paket-Manager vorhanden sind, und Paketen, die man manuell installieren muss.
Zur allgemeinen Info: die Frage dient dem Archiv-Zweck, so dass man auch darauf verlinken kann, es ist eine Einladung, wer Lust und Zeit hat, evtl. eine Hilfe für Suchende zu schreiben. Anlass war diese Frage. Daher nicht schneller Support benötigt, hingegen sind besonnene Erklärungen mit etwas Zeit höchst willkommen! Auch wenn die Frage im Usenet und anderswo verschiedentlich beantwortet wurde, vervollständigt sie das Archiv hier.