PDA

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.

voss
08-08-2008, 12:52
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ß

voss
08-08-2008, 15:37
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

voss
08-08-2008, 18:21
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

voss
09-08-2008, 10:32
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