PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : OS X: teTeX & nomencl



ThReCa
11-04-2006, 16:27
Hallo!

Ich bin ganz frisch auf dem Mac... Nachdem ich jetzt festgestellt habe, dass wohl texShop besser funktioniert als texMaker (anderer Thread), habe ich noch ein Problem mit nomencl :-/

Beim Minibsp:
\documentclass{scrbook}

\usepackage[T1]{fontenc}

% Abkürzungsverzeichnis
% ftp://ftp.dante.de/tex-archive/macros/latex/contrib/nomencl/
\usepackage[german % Deutsche Abkürzungen
,intoc % In TOC sichtbar
]{nomencl}
%\usepackage{nomencl}
\makenomenclature


\author{Test Autor}
\title{Test Titel}
\begin{document}
Test

\nomenclature{ISO}{\emph{I}nternational \emph{O}rganization for \emph{S}tandardization}

\printnomenclature

\end{document}
kommt folgende Fehlermeldung:
! LaTeX Error: Unknown option `intoc' for package `nomencl'.

Und wenn ich nur folgenden Code benutze:
\documentclass{scrbook}

\usepackage[T1]{fontenc}

\usepackage{nomencl}
\makenomenclature


\author{Test Autor}
\title{Test Titel}
\begin{document}
Test

\nomenclature{ISO}{\emph{I}nternational \emph{O}rganization for \emph{S}tandardization}

\printnomenclature

\end{document}
Kommt die Meldung:
! Undefined control sequence.
<recently read> \makenomenclature

Das kann ich mit
\printnomenclature wiederholen... :-/

Sind die Packages bei MikTeX und teTeX nicht gleich?

Bin übner jede Hilfe dankbar...

Grüße!

ThReCa
11-04-2006, 17:15
Also ich habe die Package-Datei gefunden:

\ProvidesPackage{nomencl}%
[2000/12/03 v3.1a Nomenclature package (BS)]


Hilft das weiter?

rais
11-04-2006, 19:05
Dann zieh' Dir mal eine aktuellere Version von nomencl.sty und nomencl.ist; dürfte so um [2005/09/22 v4.2] oder später liegen.
Wenn Du das nicht willst, kannst Du auch \makeglossary statt \makenomenclature sagen und entsprechend \printglossary, so hießen die Befehle in der älteren Version noch.
Bei makeindex mußt Du dann auch aufpassen: .gls statt .nls; .glo statt .nlo für die Dateiendungen...
Das aktuellere Paket besorgen dürfte aber sinnvoller sein ;)
MfG,

ThReCa
11-04-2006, 19:08
Hi!

Und wie maqhe ich das am geschicktesten?

Habe es ja extra frisch per i-Installer alles geholt... :
:-/

Kann mir da ein Mac'ler unter die Arme greifen und mirt helfen?

ThReCa
11-04-2006, 22:39
Habe es nun mittels http://ii2.sourceforge.net/tex-index.html#not%20found und http://www.tex.ac.uk/cgi-bin/texfaq2html?label=instpackages installiert...
Wobei man unbedingt den Befehl
texhash /Users/USER/Library/texmf ausführen muss ;-)

So nun habe ich immer noch das Problem, dass es nicht ganz klappt......

Vielleicht könnt Ihr mir dabei helfen?

Ich nutze texShop... Mein Minibsp:

\documentclass{scrbook}

\usepackage{nomencl}
\makenomenclature
\begin{document}
Test

\nomenclature{ISO}{\emph{I}nternational \emph{O}rganization for \emph{S}tandardization}

\printnomenclature

\end{document}

Und die Meldung dazu:

This is makeindex, version 2.14 [02-Oct-2002] (kpathsea + Thai support).
Scanning style file /usr/local/teTeX/share/texmf.tetex/makeindex/nomencl.ist..........done (10 attributes redefined, 3 ignored).
Scanning input file test.nlo...done (0 entries accepted, 1 rejected).
Nothing written in test.nls.
Transcript written in test.ilg.

Das Problem dürfte sein, dass er die Datei von /usr/local/teTeX/share/texmf.tetex/makeindex/nomencl.ist holt... Ich benütze folgendes Script:

#!/bin/bash
location=$(dirname "$1")
basefname=$(basename "$1" .tex)
if [ -e "${basefname}.dvi" ] ; then
makeindex "${basefname}.nlo" -s "nomencl.ist" -o "${basefname}.nls"
fi

Wie muss ich das noch anpassen?

Grüße

rais
12-04-2006, 08:58
Moin moin,
wo hat denn Dein ii2 das nomencl-Paket hingepackt ? Dort sollte eigentlich auch eine der neueren Version entsprechende nomencl.ist zu finden sein.
Um es erstmal auszutesten, sollte es genügen, wenn Du Dir diese nomencl.ist mit in Dein Arbeitsverzeichnis kopierst.
MfG,

ThReCa
13-04-2006, 22:08
Thanks...

noch einmal kurz nachgedacht und nun habe ich das Script ein bisschen angepasst...

#!/bin/bash
location=$(dirname "$1")
basefname=$(basename "$1" .tex)
if [ -e "${basefname}.dvi" ] ; then
makeindex "${basefname}.nlo" -s "~/Library/texmf/tex/latex/misc/nomencl/nomencl.ist" -o "${basefname}.nls"
fi

Grüße

mircsicz
21-04-2006, 18:34
Google sei dank,

ich dachte ich wäre der einzige mit dem "nomencl" Problem. Habe gestern in meine Dokumentation ein Glossar integrieren wollen. Mehrere Versuche mit glossary und nomencl wollten nicht gelingen, bis ich las das es an dem mangelnden makeindex aufruf scheitert.

Habe also eine neue Version von nomencl in /usr/local/teTex/texmf.local/tex/latex kopiert und texhash ausgeführt.

mit:

makeindex doku.nlo -s /usr/local/teTeX/share/texmf.local/tex/latex/nomencl/nomencl.ist -o doku.nls

Kann ich den nötigen Index erzeugen, nur leider weiß ich nicht wie ich mit Script umzugehen habe. Vielleicht könnte mir da mal jemand nen Schupps geben.

Folgendes habe ich bereits versucht:

1. Das script nach ~/Library/texmf/tex/latex/makeindex kopiert und als persönliches Latex Script in den TexShop Setting's eingetragen.

Dabei kam aber nichts ausser dem auf Eingabe wartenden Protokoll Fenster heraus.

2. Im Verzeichnis mit den *.tex files das script mit dem hauptfile als Argument aufgerufen. Meine Texfiles haben nicht alle die Endung *.tex. Ist ja auf ner Unix Maschine zum Glück nicht nötig alles mit extension zu versehen, oder verursacht das möglicherweiße meine Prob's ? :confused:


# cd ~/Desktop/Doku
# makeindex doku

Wenn ich nach Änderungen makeindex im Doku-Verz. ausführe kann ich ohne weiteres mit TexShop das PDF erzeugen.



makeindex doku.nlo -s /usr/local/teTeX/share/texmf.local/tex/latex/nomencl/nomencl.ist -o doku.nls

Ich hoffe einer von euch hat das bereits erfolgreich in TexShop integriert ... nervt nämlich auf Dauer.

rais
21-04-2006, 19:51
Hallo und Herzlich Willkommen :)
Ich kan zwar nicht wirklich zu Deinem Problem Stellung nehmen, aber

Meine Texfiles haben nicht alle die Endung *.tex. Ist ja auf ner Unix Maschine zum Glück nicht nötig alles mit extension zu versehen, oder verursacht das möglicherweiße meine Prob's ? :confused:

davon kann ich nur abraten: wenn Du im Dokument mal mit \input bzw. \include arbeitest, dann kann das schon zu Problemen führen, dort wird standardmäßig .tex rangehängt, wenn keine Erweiterung angegeben ist.
Abgesehen davon: es ist für Dich doch auch leichter, wenn die Dateiendung bereits Aufschluß auf den Inhalt gibt, oder?
MfG,

mircsicz
21-04-2006, 20:08
Nachdem ich nochmal nach "TexShop Engines" gegoogled habe beantworte ich meine Frage mal selbst.

Um das Script in TexShop zu integrieren habe ich eines der vorhandenen *.engine files im o.g. Verz. kopiert. So sieht das Ergebnis aus:


#!/bin/bash

#set path= ($path /usr/local/teTeX/bin/powerpc-apple-darwin-current /usr/local/bin)

location=$(dirname "$1")
basefname=$(basename "$1" .tex)
if [ -e "${basefname}.tex" ] ; then
makeindex "${basefname}.nlo" -s "/usr/local/teTeX/share/texmf.local/tex/latex/nomencl/nomencl.ist" -o "${basefname}.nls"
fi

pdflatex "$1"
thumbpdf "$1"

location=$(dirname "$1")
basefname=$(basename "$1" .tex)
if [ -e "${basefname}.tex" ] ; then
makeindex "${basefname}.nlo" -s "/usr/local/teTeX/share/texmf.local/tex/latex/nomencl/nomencl.ist" -o "${basefname}.nls"
fi

pdflatex "$1"

Leider muß ich makeindex & pdflatex wie man sehen kann zweimal laufen lassen, um Änderungen sofort zu sehen. Habe gerade 10min. lang experimentiert aber keine andere Möglichkeit gefunden.

Aber auf diesem Weg ist es nun auch nicht mehr nötig das dokument gleich zweimal zu setzen. Denn beim ersten mal waren nach Änderungen in der Struktur Inhaltverz., Tabellenverz. und Abbildungsverz. immer leer. Was sich aber wohl auch durch duplizieren des xelatex Aufruf's in XeLaTex.engine beheben läßt.

Schönes WE wünsch ich !!