PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Symbolverzeichnis mit glossaries und siunitx



letscho84
03-12-2011, 21:49
Hallo zusammen,

ich habe mich daran gemacht ein eigenes Symbolverzeichnis nach:


http://mrunix.de/forums/showthread.php?t=69862

zu erstellen. Jedoch wollte ich gerne das Paket SIunits durch das aktuellere Paket siunitx ersetzen. Wenn ich diese wie in meinem Minibeispiel austausche, geniert mir TeXnicCenter sechs Fehler in denen die Rede von Undefined control sequence ist.

Meine Frage nun, muss ich wieder auf das alte Paket zurück gehen oder wo liegt bei mir der Fehler?

Danke schon jetzt für eurer Hilfe.

Grüße, letscho



\documentclass[a4paper, 11pt, oneside]{scrbook} %Definition der Dokumentart
\usepackage[ngerman]{babel,translator} %Deutsche Spracheinstellung
\usepackage[latin1]{inputenc} %Dateikodierung Windows
\usepackage[T1]{fontenc} %Aktiviert EC-Schriftarten
\usepackage{scrhack} %Immer verwenden in Verbindung mit Scrbook oder ähnlichem und listings!!!

\usepackage[sc]{mathpazo}
\usepackage[scaled]{helvet} %entspricht Arial

\usepackage[a4paper,
left=30mm, %Abstand zum Linken Seitenrand
right=25mm, %Abstand zum Rechten Seitenrand
top=22mm,
headsep=8mm,
bottom=20mm, %Abstand vom Textunterrand bis zum Seitenunterrand
footskip=10mm %Abstand zwischen Textunterrand und Seitennummer
]{geometry} %Anpassungen zum Seitenaussehen

\usepackage{siunitx}
\sisetup{locale = DE}
\usepackage{threeparttable}


\usepackage[nonumberlist, %Aktiviert
acronym, %Aktiviert die Akronymumgebung von Glossaries
toc, %Bindet die Akronymliste in das Inhalstverzeichnis ein
sanitize={description=false}, %
description
]{glossaries}


%Ein Symbolverzeichnis erstellen
\newglossary[slg]{symbolslist}{syi}{syg}{Symbolverzeichnis}

%Style Symbolverzeichnis definieren
\newglossarystyle{symbver}{ % put the glossary in a longtable environment:
\renewenvironment{theglossary}
{\begin{longtable}{lp{\glsdescwidth}cccp{\glspagel istwidth}}}
{\end{longtable}}

\renewcommand*{\glossaryheader}{}

\renewcommand*{\glossaryentryfield}[4]{
\glstarget{##1}\\[0.5cm]{##2}&{##3}&{##4}}% \\[0.5cm] Zeilenabstand zwischen Einträgen

\renewcommand*{\glossarysubentryfield}[6]{
\glossaryentryfield{##2}{##3}{##4}{[##5]}}

\renewcommand*{\glsgroupskip}{}}

%Den Punkt am Ende jeder Beschreibung deaktivieren
\renewcommand*{\glspostdescription}{}

\newglossaryentry{romanletter}{name={\textbf{\rlap {Lateinische Buchstaben}}},description={}} %trennt Symbolverzeichnis in lateinische und griechische Buchstaben
\newglossaryentry{greekletter}{name={\textbf{\rlap {Griechische Buchstaben}}},description={}} %trennt Symbolverzeichnis in lateinische und griechische Buchstaben

%Glossar-Befehle anschalten
\makeglossaries

%Zeit
\newglossaryentry{symb:zeit}{name=$t$,
symbol=\second,
description={Zeit},
sort=symbolzeit,
parent=romanletter,
type=symbolslist}
%Masse
\newglossaryentry{symb:m}{name=$m$,
symbol=\kilo\gram,
description={Masse},
sort=symbolm,
parent=romanletter,
type=symbolslist}

\begin{document}

Ach ja die \gls{symb:zeit} und die \gls{symb:m} sind schon schwer zu fassen!

%Symbole ausgeben
\printglossary[type=symbolslist,style=symbver,title=Symbolverzeic hnis] %gibt Symbolverzeichnis aus, title= ohne Überschrift

\end{document}

bobmalaria
04-12-2011, 02:54
hi,

in deinem von sehr vielen tabs durchsetzten code (ist nicht gerade leasbar)

fällt mir auf das du symbol=\second schreibst. aber es ist nirgendwo definiert das siunitx überhaupt verwendet wird!

ein symbol=\si{\second} wird dann vermutlich funktionieren.

gruss

letscho84
04-12-2011, 09:01
hi,

in deinem von sehr vielen tabs durchsetzten code (ist nicht gerade leasbar)

fällt mir auf das du symbol=\second schreibst. aber es ist nirgendwo definiert das siunitx überhaupt verwendet wird!

ein symbol=\si{\second} wird dann vermutlich funktionieren.

gruss

Morgen bobmalaria,

entschuldige, aber ich finde es durch die Tabs im TeXnicCenter für mich besser zu lesen ist. Das mit dem definieren von siunitx hatte ich gedacht, dass das einfach durch das einbinden des Pakets reicht!
Wenn ich deinen Vorschlag anwende kommt die selbe Fehlermeldung.

Grüße, Letscho

localghost
04-12-2011, 10:40
[…] entschuldige, aber ich finde es durch die Tabs im TeXnicCenter für mich besser zu lesen ist. […]
Du kannst im TeXnicCenter (TXC) auch einstellen, dass Leerzeichen an Stelle von Tabulatoren benutzt werden. Für dich würde sich bei der Eingabe kaum etwas ändern. Und dein Code wäre hier besser lesbar.


Thorsten

u_fischer
04-12-2011, 12:28
geniert mir TeXnicCenter sechs Fehler in denen die Rede von Undefined control sequence ist.

Warum kopierst du nicht die genau Fehlermeldung?

Abgesehen davon: Du musst die Befehle schützen. Also


symbol=\protect\si{\protect\second},
symbol=\protect\si{\protect\kilo\protect\gram}

letscho84
04-12-2011, 18:11
Warum kopierst du nicht die genau Fehlermeldung?

Abgesehen davon: Du musst die Befehle schützen. Also


symbol=\protect\si{\protect\second},
symbol=\protect\si{\protect\kilo\protect\gram}

Hallo Ulrike,

danke für den Tipp damit funktioniert es im Minibsp.

Hier mal noch die Fehlermeldung:



! Undefined control sequence.
\@glo@symbol ->\second

l.66 type=symbolslist}

The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.

! Undefined control sequence.
\@glo@symbol ->\second

l.66 type=symbolslist}

The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.

! Undefined control sequence.
\@glo@symbol ->\kilo
\gram
l.73 type=symbolslist}

The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.

! Undefined control sequence.
\@glo@symbol ->\kilo \gram

l.73 type=symbolslist}

The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.

! Undefined control sequence.
\@glo@symbol ->\kilo
\gram
l.73 type=symbolslist}

The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.

! Undefined control sequence.
\@glo@symbol ->\kilo \gram

l.73 type=symbolslist}

The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.


Wenn ich das nun aber auf mein großes Dokument anwende, dann will das Dokument nicht so richtig. Soll heißen, im Symbolverzeichnis werden alle Einträge übereinander geschrieben und Fehler im Sinne von:



! Missing } inserted.
<inserted text>
}
l.4 ...rlap {Griechische Buchstaben}}}}{}{\relax }
\relax \glsresetentrylist
I've put in what seems to be necessary to fix
the current column of the current alignment.
Try to go on, since this might almost work.


ausgegeben. Woran liegt das?

Grüße, Letscho

u_fischer
04-12-2011, 18:24
Woran liegt das?

Keine Ahnung. Meine Kristallkugel ist zur Zeit im Urlaub. Ohne Code kann ich daher nicht helfen.

letscho84
05-12-2011, 14:52
Keine Ahnung. Meine Kristallkugel ist zur Zeit im Urlaub. Ohne Code kann ich daher nicht helfen.

Hallo Ulrike,

ja das dachte ich mir schon. Aber leider konnte ich das log-file nicht dran hängen, da es um 0,7 kB zu groß war und der Code ist sehr umfassend. Daher werde ich ihn hier nicht posten.
Nichts desto trotz, habe ich herausgefunden woran es lag. Es war das hypref Paket, welches ich einfach in der Präambel unter das Glossaries Paket setzen musste um diesen Fehler zu beheben.

Aber trotzdem danke für eure Hilfe.

Grüße, letscho

letscho84
10-12-2011, 08:39
Morgen zusammen,

ich habe mir nun ein Symbolverzeichnis zusammengebastelt. Jedoch habe ich noch eine Frage. Ist es möglich, dass die Indizes in meinem Verzeichnis ohne Einheiten dastehen?

Hier mal das Minibeispiel:



\documentclass[a4paper, 11pt, oneside]{scrbook}
\usepackage[ngerman]{babel,translator}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{scrhack}

\usepackage[sc]{mathpazo}
\usepackage[scaled]{helvet}

\usepackage{longtable,tabu,booktabs,threeparttable }
\usepackage{multirow}

\usepackage[mode=text,per-mode=symbol,exponent-product = \cdot]{siunitx}
\sisetup{locale = DE}

\usepackage[nonumberlist, numberline, acronym, toc, sanitize={description=false}, description]{glossaries}

%Ein Symbolverzeichnis erstellen
\newglossary[slg]{symbolslist}{syi}{syg}{Symbolverzeichnis}

%Style Symbolverzeichnis definieren
\newglossarystyle{symbver}{
\renewenvironment{theglossary}
{\begin{longtable}{lp{\glsdescwidth}cccp{\glspagel istwidth}}}
{\end{longtable}}

\renewcommand*{\glossaryheader}{}

\renewcommand*{\glossaryentryfield}[4]{
\glstarget{##1}\\[0.5cm]{##2}&{##3}&{##4}}% \\[0.5cm] Zeilenabstand zwischen Einträgen

\renewcommand*{\glossarysubentryfield}[6]{
\glossaryentryfield{##2}{##3}{##4}{[##5]}}

\renewcommand*{\glsgroupskip}{}}

%Den Punkt am Ende jeder Beschreibung deaktivieren
\renewcommand*{\glspostdescription}{}

\newglossaryentry{romanletter}{name={\textbf{\rlap {Lateinische Buchstaben}}},description={},sort=a} %Lateinische Buchstaben
\newglossaryentry{greekletter}{name={\textbf{\rlap {Griechische Buchstaben}}},description={},sort=b} %Griechische Buchstaben
\newglossaryentry{indizes}{name={\textbf{\rlap{Ind izes}}},description={},sort=c} %Indizes
\makeglossaries


\newglossaryentry{symb:p}{name=$p$, symbol=\protect\si{\protect\bar}, description={Druck}, sort=symbolp, parent=romanletter, type=symbolslist}
\newglossaryentry{symb:start}{name=${Start}$, description={Anfang}, sort=symbolstart, parent=indizes, type=symbolslist}
\newglossaryentry{symb:zeta}{name=$\zeta$, symbol=-, description={Verlustfaktor}, sort=symbolzeta, parent=greekletter, type=symbolslist}


\begin{document}

\tableofcontents

%Symbole ausgeben
\printglossary[type=symbolslist,style=symbver,title=Symbolverzeic hnis]



Hier soll mal der ganze Text stehen!

\gls{symb:p}\textsubscript{\gls{symb:start}}

\gls{symb:p}

\gls{symb:zeta}


\end{document}


Grüße, letscho