Archiv verlassen und diese Seite im Standarddesign anzeigen : Kile + kubuntu 8.04 + KDE4: nichterkannte Pakete
powdersurfer
08-08-2008, 11:00
Hallo,
ich habe mir die Vorlage von Matthias Pospiech geladen um damit meine Thesis zu schreiben. Erfahrung mit Tex+Kile ist aus der Diplomarbeitszeit da, also nicht ganz grasgrün hinter den Ohren ... Beim Kompilieren der Vorlage habe ich das Problem das das Paket "marginnote.sty" nicht gefunden wird. Laut "locate -i marginnote.sty" ist es in:
NAME@notebook-js:~$ locate -i marginnote.sty
/usr/share/texmf-texlive/tex/latex/marginnote/marginnote.sty
installiert.
In Kile und in der Systemkonsole ohne laufendes Kile habe ich "texhash" aufgerufen. Das Paket wird einfach nicht gefunden. Jetzt könnte ich es auskommentieren, das löst aber eben das Problem nicht und wer weiß ob ich's doch brauche.
Für Hinweise schon mal vielen Dank
Grüße
pospiech
08-08-2008, 12:35
Schau mal in texmf.cnf wo LaTeX nach Paketen sucht.
ich habe mir die Vorlage von Matthias Pospiech geladen um damit meine Thesis zu schreiben. Erfahrung mit Tex+Kile ist aus der Diplomarbeitszeit da, also nicht ganz grasgrün hinter den Ohren ... Beim Kompilieren der Vorlage habe ich das Problem das das Paket "marginnote.sty" nicht gefunden wird. Laut "locate -i marginnote.sty" ist es in:
NAME@notebook-js:~$ locate -i marginnote.sty
/usr/share/texmf-texlive/tex/latex/marginnote/marginnote.sty
installiert.
In Kile und in der Systemkonsole ohne laufendes Kile habe ich "texhash" aufgerufen. Das Paket wird einfach nicht gefunden. Jetzt könnte ich es auskommentieren, das löst aber eben das Problem nicht und wer weiß ob ich's doch brauche.
kpsewhich marginnote.sty
zeigt, ob es für TeX überhaupt bekannt ist. Mit
kpsexpand '$TEXMF'
kannst du heraisfinden, in welchen Verzeichnissen TeX sucht. Ist die Datei in
einem der Verzeichnisse, dann fehlt ein texhash für die Aktualisierung der
Datenbank.
Herbert
Stefan_K
08-08-2008, 14:40
Hallo,
evtl. hast Du es hier nur nicht erwähnt, doch Du solltest sudo verwenden: sudo texhash.
Stefan
powdersurfer
08-08-2008, 14:53
Hallo und Danke für die Antworten!
@pospiech:
texmf.cnf sieht so aus:
...
% The main distribution tree:
TEXMFDIST = /usr/share/texmf-texlive
% A place for local additions to a "standard" texmf tree.
% This tree is not used for local configuration maintained by
% texconfig, it uses TEXMFCONFIG below.
TEXMFLOCAL = /usr/local/share/texmf
% TEXMFSYSVAR, where texconfig-sys stores variable runtime data.
% With teTeX-3.0 or later, this must be set.
% For sharing this tree with $TEXMFMAIN:
% TEXMFSYSVAR = $TEXMFMAIN
% For using a separate tree:
% TEXMFSYSVAR = /usr/share/texmf-var
TEXMFSYSVAR = /var/lib/texmf
% TEXMFSYSCONFIG, where texconfig-sys stores configuration data.
% With teTeX-3.0 or later, this must be set.
% For sharing this tree with $TEXMFMAIN:
% TEXMFSYSCONFIG = $TEXMFMAIN
% For using a separate tree:
% TEXMFSYSCONFIG = /usr/share/texmf-config
TEXMFSYSCONFIG = /etc/texmf
% User texmf trees are allowed as follows.
% This used to be HOMETEXMF.
TEXMFHOME = $HOME/texmf
% TEXMFVAR, where texconfig stores variable runtime data.
% With teTeX-3.0 or later, this must be set.
% For sharing this tree with $TEXMFMAIN:
% TEXMFVAR = $TEXMFMAIN
% For using a separate tree:
% TEXMFVAR = $HOME/.texmf-var # teTeX 3.0 default
TEXMFVAR = $HOME/.texmf-var
% TEXMFCONFIG, where texconfig stores configuration data.
% With teTeX-3.0 or later, this must be set.
% For sharing this tree with $TEXMFMAIN:
% TEXMFCONFIG = $TEXMFMAIN
% For using a separate tree:
% TEXMFCONFIG = $HOME/.texmf-config # teTeX 3.0 default
% For using a separate tree:
% TEXMFCONFIG = /usr/share/texmf-config
TEXMFCONFIG = $HOME/.texmf-config
% Now, list all the texmf trees. If you have multiple trees you can
% use shell brace notation, like this:
% TEXMF = {$TEXMFHOME,!!$TEXMFLOCAL,!!$TEXMFMAIN}
% The braces are necessary.
%
% For texconfig to work properly, TEXMFCONFIG and TEXMFVAR should be named
% explicitly and before all other trees.
TEXMF = {$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,$TEXMFSYSCONFIG ,!!$TEXMFSYSVAR,!!$TEXMFLOCAL,!!$TEXMFMAIN,!!$TEXM FDIST}
% The system trees. These are the trees that are shared by all the users.
% If a tree appears in this list, the mktex* scripts will use
% VARTEXFONTS for generated files, if the original tree isn't writable;
% otherwise the current working directory is used.
SYSTEXMF = $TEXMFSYSVAR,$TEXMFLOCAL;$TEXMFMAIN;$TEXMFDIST
...
soweit ich mich auskenne sind die ersten zwei Absätze die Wichtigsten, oder liege ich da Falsch? Die Datei ist noch etwas länger, in den weiteren Blöcken geht es um zusätzliche fonts etc.
@voss:
die Ausgabe von kpsewhich marginnote.sty ist:
/usr/share/texmf-texlive/tex/latex/marginnote/marginnote.sty
das ist die selbe Antwort wie bei locate -i was ich schon probiert hatte, oder bezieht sich der Suchbefehl direkt auf TeX?
die Ausgabe von kpsexpand '$TEXMF' ist:
{/home/NAME/.texmf-config,/home/NAME/.texmf-var,/home/NAME/texmf,/etc/texmf,!!/var/lib/texmf,!!/usr/local/share/texmf,!!/usr/share/texmf,!!/usr/share/texmf-texlive}
da wird zwar auch in meinem /home Verzeichnis gesucht aber eben auch in /usr/share/texmf-texlive wo ja die marginnote.sty liegt.
Die Ausgabe von texhash sagt:
texhash: Updating /var/lib/texmf/ls-R-TEXMFMAIN...
texhash: Updating /var/lib/texmf/ls-R-TEXLIVE...
texhash: Updating /var/lib/texmf/ls-R...
texhash: Done.
und da fällt mir auf das das Verzeichnis in dem marginnote.sty liegt nicht aktualisiert wird. Kann es daran liegen? Wie kann ich das mit aufnehmen?
Falls jemand weiter weiss, Danke schon mal im Voraus.
Grüße
powdersurfer
08-08-2008, 14:57
@ Stefan_K
danke Dir, ich hatte schon ein sudo vorangestellt. Ohne bekomme ich die Meldung das keine Schreibrechte vorliegen.
Gruß
die Ausgabe von kpsewhich marginnote.sty ist:
/usr/share/texmf-texlive/tex/latex/marginnote/marginnote.sty
das ist die selbe Antwort wie bei locate -i was ich schon probiert hatte, oder bezieht sich der Suchbefehl direkt auf TeX?
dann wird es garantiert von TeX gefunden und es muss ein anderer Fehler
bei dir vorliegen! Minimalbeispiel mit logfile!
Herbert
powdersurfer
08-08-2008, 17:30
Hallo Herbert, merci für die Antwort.
Ich habe ein Mini-Minimalbeispiel gestetet. In der eigentlichen Vorlage (von Matthias) funktioniert die marginnote.sty inzwischen, jedoch wird jetzt lmodern.sty nicht gefunden.
Hier mal das Beispiel:
\documentclass[paper=a4,fontsize=10pt]{scrartcl}
\usepackage{marginnote}
%\usepackage{lmodern}
\begin{document}
lorem ipsum kalus hailom
\end{document}
wenn ich jetzt hier die lmodern.sty einbinde bekomme ich den Fehler das diese nicht gefunden wird. Suche ich nach dem Packet mit dem von Dir genannten Befehl bekomme ich:
...@notebook-js:~$ kpsewhich lmodern.sty
NAME@notebook-js:~$
Nichts.
Suche ich mit apt-file search lmodern.sty:
...@notebook-js:~$ apt-file search lmodern.sty
lmodern: /usr/share/texmf/tex/latex/lm/lmodern.sty
wird das Packet gefunden. Wo ist da der Unterschied?
Mir kommt es so vor als ob bestimmte Verzeichnisse nicht berücksichtigt werden. Das /usr/share/texmf ist jedoch in den Suchpfaden:
...@notebook-js:~$ kpsexpand '$TEXMF'
{...,!!/usr/share/texmf,!!/usr/share/texmf-texlive}
Danke und Grüße
powdersurfer
08-08-2008, 17:47
falls unklar: die marginnote.sty funktioniert (jetzt) in der Vorlage sowie in meinem Minibeispiel. Die lmodern.sty funktioniert weder in der Vorlage noch in dem Mini. Die Suche nach lmodern und meine Vermutung steht im vorherigen post.
Stefan_K
08-08-2008, 18:00
Hallo,
installiere lmodern mit:
sudo apt-get install lmodern
Für apt-file ist es unerheblich, ob das Pakete bereits installiert ist oder nicht, es sucht in einem heruntergeladenen Cache.
Stefan
Ich habe ein Mini-Minimalbeispiel gestetet. In der eigentlichen Vorlage (von Matthias) funktioniert die marginnote.sty inzwischen, jedoch wird jetzt lmodern.sty nicht gefunden.
dann ist es auch nicht installiert ...
Herbert
powdersurfer
08-08-2008, 20:12
Danke an alle für die Hilfe.
@ Stefan_K, wie kann ich denn herausfinden ob sich ein Paket über die Paketverwaltung installieren lässt oder nicht? Z.B. das lmoden.
@ Herbert, um nach LaTeX Paketen zu suchen muss ich immer kpsewhich -Paketname- verwenden und nicht die (kunbuntu)-Standardbefehle?
Danke nochmal und Gruß vom jetzt tippenden powdersurfer
Stefan_K
08-08-2008, 20:31
Hallo,
entscheidend ist nicht, ob eine Datei irgendwo auf dem System gespeichert ist und durch Linux-Befehle gefunden wird, sondern ob TeX sie in der eigenen Dateistruktur findet, genau das kriegst Du mit kpsewhich (http://www.tug.org/texinfohtml/kpathsea.html#Invoking-kpsewhich) heraus.
Wenn Du ein bestimmtest Paket aus der texlive-Distribution installieren möchtest, kannst Du den Paketnamen der Suchfunktion von Synaptic übergeben, dann sollte das zugehörige texlive-Paket gefunden werden. Ich verwende übrigens zusätzlich den MiKTeX Paketmanager, um aktuellere Versionen als die von texlive zu erhalten, die Installation des mpm unter Ubuntu habe ich hier (http://texblog.net/latex-archive/linux/mpm-miktex-package-manager/) kurz und konkret beschrieben.
Viele Grüße,
Stefan
um nach LaTeX Paketen zu suchen muss ich immer kpsewhich -Paketname- verwenden und nicht die (kunbuntu)-Standardbefehle?
das Problem ist historisch bedingt. TeX sucht nicht rekursiv, sondern nur in
festgelegten Verzeichnissen oder bestimmten Textdateien lsR, die von
texhash erstellt werden und eine Liste aller Dateien umfasst. Die Reihenfolge
des Suchens ist immer
aktuelles Verzeichnis->$TEXMFHOME->$TEXMFLOCAL->$TEXMF
Herbert
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.