keyval error mit thmtools/cleverref

Fragen und Probleme, die nicht den obigen Kategorien zugeordnet werden können


Zeissberg
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Mi 23. Apr 2014, 18:49

keyval error mit thmtools/cleverref

Beitrag von Zeissberg »

Hallo zusammen,

Ich habe ein Problem bei der Verwendung von thmtools und cleveref auf Ubuntu.

Folgender Beispiel-Code
\documentclass{report}

\usepackage{amsthm}
\usepackage{thmtools}
\usepackage{cleveref}

%\declaretheorem[name=Definition]{definition}

\declaretheorem[name=Definition, refname={definition, definitions}, Refname={Definition,Definitions}]{definition}

\begin{document}

See \Cref{def:1}.

\begin{definition}
\label{def:1}
This is a definition
\end{definition}

\end{document}
führt zu der Fehlermeldung:
ERROR: Package keyval Error: refname undefined.

--- TeX said ---

See the keyval package documentation for explanation.
Type  H <return>  for immediate help.
 ...                                              
                                                  
l.9 ...fname={Definition,Definitions}]{definition}
                                                  
--- HELP ---
From the .log file...

Try typing  <return>  to proceed.
If that doesn't work, type  X <return>  to quit.

Dazu noch meine Feststellungen:
  • So wie ich es verstehe, ist mit dem key-value "refname" etwas nicht in Ordnung.

    Das keyval Manual hat mir nicht weitergeholfen, da die keys refname und Refname in thmtools definiert werden.

    Die Form des \declaretheorem habe ich so aus dem thmtools guide (Seite 4) übernommen und die auskommentierte Version funktioniert.

    Andere keyval Einträge wie 'numberwithin=chapter' funktionieren auch.

    Ich habe dieses Problem nur auf meinem Ubuntu Rechner (12.04 64bit), auf einem anderen Debian Rechner funktioniert das gleiche Beispiel ohne Probleme.

Kann mir irgendwer weiterhelfen?
Vielleicht ist irgendetwas nicht auf dem neuesten Stand und braucht ein update?

Danke schon einmal für Eure Zeit.

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Vielleicht vergleichst du dann wirklich erstmal die Paketversionen auf den beiden Rechnern: Wie kann ich feststellen, welche Paketverisonen von meinem Dokument geladen werden?

Zeissberg
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Mi 23. Apr 2014, 18:49

Beitrag von Zeissberg »

Danke für den Hinweis und Link.
Ich habe auf beiden Rechner \listfiles hinzugefügt und die Log-files angeschaut.
Es gibt sehr viele Unterschiede, am augenscheinlichsten scheint mir zu sein, dass etliche Packages auf dem Ubuntu Rechner deutlich älteren Datums sind:

Z.B thmtools datieren auf 2008 auf Ubuntu
(/usr/share/texmf-texlive/tex/latex/thmtools/thm-patch.sty
Package: thm-patch 2008/06/22 v0.1beta6 thm-patch (ulmi)

(/usr/share/texmf-texlive/tex/latex/thmtools/parseargs.sty
Package: parseargs 2008/05/12 v0.1alpha1 generic argument parser (ulmi)
\@parsespec=\toks21
)
\c@thmt@dummyctr=\count88
)

(/usr/share/texmf-texlive/tex/latex/thmtools/thm-kv.sty
Package: thm-kv 2008/06/22 v0.1beta6 thm-kv interface (ulmi)
und auf 2012 beim Debian Rechner
(/usr/share/texlive/texmf-dist/tex/latex/thmtools/thm-patch.sty
Package: thm-patch 2012/05/04 v63

(/usr/share/texlive/texmf-dist/tex/latex/thmtools/parseargs.sty
Package: parseargs 2012/05/04 v63
\@parsespec=\toks21
))
(/usr/share/texlive/texmf-dist/tex/latex/thmtools/thm-kv.sty
Package: thm-kv 2012/05/04 v63
Package thm-kv Info: Theorem names will be uppercased on input line 40.

Darüber hinaus finden sich auf dem Debian Rechner packages, die auf dem Ubuntu Rechner nicht aufgerufen werden.
Insbesondere das KEy value parser package kvsetkeys fehlt bei Ubuntu und ich meine bei meiner Suche auch schon mal auf das unten aufgeführte Patch 1.16 gestossen zu sein (allerdings im Zusammanhang mit bibtex Problemen).

(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty
Package: kvsetkeys 2012/04/25 v1.16 Key value parser (HO)

(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty
Package: infwarerr 2010/04/08 v1.3 Providing info/warning/error messages (HO)
)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/etexcmds.sty
Package: etexcmds 2011/02/16 v1.5 Avoid name clashes with e-TeX commands (HO)

(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifluatex.sty
Package: ifluatex 2010/03/01 v1.3 Provides the ifluatex switch (HO)
Package ifluatex Info: LuaTeX not detected.
)
))
Package thm-kv Info: kvsetkeys patch (v1.16 or later) on input line 156.


Gibt es erstmal eine Möglichkeit texlive auf den neusten Stand zu bringen?
Bzw. ein Update aller pacakges zu forcieren?
Ich dachte bislang, dies würde bei Ubuntu immer automatisch aktualisiert?

Benutzeravatar
Johannes_B
Moderator
Moderator
Beiträge: 5079
Registriert: Do 1. Nov 2012, 14:55
Kontaktdaten:

Beitrag von Johannes_B »

Das TeXLive in den Linux-Repositories ist teilweise recht veraltet, nie aber auf dem neuesten Stand.

Willst du aber gerade die Aktualität, dann solltest du TeXLive direkt beziehen und installieren.
TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?

Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.

Zeissberg
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Mi 23. Apr 2014, 18:49

Beitrag von Zeissberg »

Okay, danke soweit.

Ich habe texlive jetzt per Internet-Variante installiert http://www.tug.org/texlive/acquire-netinstall.html
Anschliessend den Pfad gesetzt
PATH=/usr/local/texlive/2013/bin/x86_64-linux:$PATH 
(wird auch per "printenv" command angezeigt)

Allerdings werden im logfile immer noch die repository files angezeigt, die anscheinend im /usr/share/... sind und nicht im /usr/local/texlive/...
Z.B.
(/usr/share/texmf-texlive/tex/latex/thmtools/thmtools.sty
Package: thmtools 2008/06/22 v0.1beta6 Tools for theorem typesetting (ulmi)
Muss ich die texlive installation im Ubuntu package manager deinstallieren?
Oder kann ich irgendwie angeben, welche packages geladen werden sollen?

Benutzeravatar
Johannes_B
Moderator
Moderator
Beiträge: 5079
Registriert: Do 1. Nov 2012, 14:55
Kontaktdaten:

Beitrag von Johannes_B »

which pdflatex
Wird denn da das richtige genommen?

Die texlive-Pakete aus den Repositories brauchst du ja nun eigenltich nicht mehr. Die könntest du also entfernen.

Vielleicht möchtest du auch ein dummy-Paket erstellen: Kile and TeX Live 2008 on Ubuntu Linux
TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?

Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.

Zeissberg
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Mi 23. Apr 2014, 18:49

Beitrag von Zeissberg »

Hallo,

danke für die kontinuierliche Hilfe.

Es gibt bestimmt eine elegantere Variante, die richtige Tex-Live Installation zu wählen, aber bei mir hat letztlich nur ein Entfernen der Packetquellen aus dem Repository funktioniert.
Trotz Environmenvariable hat which pdflatex immer den repository Pfad angegeben.
Nach dem Entfernen funktioniert alles besten.

Fazit: Das ursprüngliche Problem kam von veralteten Packeten im Ubuntu (12.04) Repository und ist durch Installation von Tex-Live wie oben dargestellt lösbar.

P.S.: Falls jemand, wie in meinem Fall, AucTex für Emacs nutzt, einfach folgende Zeile ins .emacs file im home directory einfügen:
 (setenv "PATH" (concat "/PFAD/ZUR/TEXLIVEINSTALLATION/PLATFORM:" (getenv "PATH")))
in meinem Fall z.B.:

(setenv "PATH" (concat "/usr/local/texlive/2013/bin/x86_64-linux:" (getenv "PATH")))


Vielen Dank und Grüsse

Antworten