PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Paket glossaries und römische Seitenzahlen



eisbaer
25-01-2013, 16:31
Hallo,

ich möchte in meiner Arbeit im Anhang (der Römisch nummeriert werden muss) ein Abkürzungsverzeichnis erstellen. Dazu habe ich mit dem glossaries-Paket einige Einträge erzeugt.



\documentclass[a4paper]{scrartcl}
\usepackage[latin1]{inputenc} %Dateikodierung
\usepackage[T1]{fontenc} % Aktiviert EC-Schriftarten
\usepackage{ae} % Schöne Schriften für PDF-Dateien
\usepackage{textcomp} % Text-Companion-Symbols (z. B. \texteuro)
\usepackage[ngerman]{babel} % Deutsche Einstellungen
\usepackage{lmodern} % Latin Modern

\usepackage[ngerman]{translator}
%Paket laden
\usepackage[
nonumberlist, %keine Seitenzahlen anzeigen
acronym, %ein Abkürzungsverzeichnis erstellen
toc, %Einträge im Inhaltsverzeichnis
section] %im Inhaltsverzeichnis auf section-Ebene erscheinen
{glossaries}


\usepackage{hyperref}

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

%Glossar-Befehle anschalten
\makeglossaries

%Diese Befehle sortieren die Einträge in den
%einzelnen Listen:
%makeindex -s datei.ist -t datei.alg -o datei.acr datei.acn
%makeindex -s datei.ist -t datei.glg -o datei.gls datei.glo
%makeindex -s datei.ist -t datei.slg -o datei.syi datei.syg

%Befehle für Abkürzungen
\newacronym{MS}{MS}{Microsoft}
\newacronym{CD}{CD}{Compact Disc}
\newacronym{DVD}{DVD}{Digital Versatile Disc}
\newacronym{AD}{AD}{Active Directory}

\begin{document}
\tableofcontents{}

\section{Allgemeines}
In unserem Netzwerk setzen wir auf \gls{AD}. Durch den Einsatz
eines \gls{AD} erreichen wir bei \gls{MS}-Systemen...

\cleardoublepage{}
\appendix
\pagenumbering{roman}

\section{Allgemeines2}
In unserem Netzwerk setzen wir auf \gls{AD}. Durch den Einsatz %<--- hier kaputt
eines \gls{AD} erreichen wir bei \gls{MS}-Systemen...

\cleardoublepage{}

%Glossar ausgeben
\deftranslation[to=German]{Acronyms}{Abkürzungsverzeichnis}
\printglossary[type=\acronymtype,style=long]
\cleardoublepage{}
\end{document}


Das angehängt Beispiel funktioniert soweit, allerdings nur, wenn ich "kleine" römische Zahlen verwende. Wenn ich im Anhang auf
\pagenumbering{Roman}
umschalte, dann gibt es folgenden Fehler:



{C:/Dokumente und Einstellungen/All Users/Anwendungsdaten/MiKTeX/2.9/pdftex/config/pdftex.map}])
! Incomplete \ifx; all text was ignored after line 51.
<inserted text>
\fi
<*> ...d*Einstellungen/ich/Desktop/test/LaTeX1.tex

The file ended while I was skipping conditional text.
This kind of error happens when you say `\if...' and forget
the matching `\fi'. I've inserted a `\fi'; this might work.

! Emergency stop.
<*> ...d*Einstellungen/ich/Desktop/test/LaTeX1.tex

*** (job aborted, no legal \end found)



Zeile 51 ist die mit dem Zugriff auf \gls{AD} im Anhang.

Mir ist nicht wirklich klar, warum die Umstellung von "roman" auf "Roman" solch eine Auswirkung hat. Hat jemand eine Idee? Ich habe alle MikTeX-Pakete auf den letzten Stand.

Viele Grüße
Uwe

rais
25-01-2013, 21:03
Hallo und Herzlich Willkommen :)


Mir ist nicht wirklich klar, warum die Umstellung von "roman" auf "Roman" solch eine Auswirkung hat. Hat jemand eine Idee?
AFAICS liegt das an der (lokal begrenzten) Umdefinition von \romannumeral:
\@Roman (wird \Roman-intern verwendet) ist im Kern so definiert:


\def\@Roman#1{\expandafter\@slowromancap\romannume ral #1@}

\romannumeral wird beim glossaries-Paket (innerhalb\@@do@wrglossary) zu


\def\romannumeral##1{%
\ifx##1\c@page \gls@romanpage\else\orgnumber##1\fi}%

Wird \romannumeral nun (im \@Roman) expandiert, bekommt der dort verwendete \@slowromancap das erste Token aus \romannumeral zu fassen -- \ifx.
Frage besser bei der glossaries-Paketautorin nach, wie das Problem letztendlich gelöst werden kann.
Als Workaround ginge u.U.


\let\Romannumeral\romannumeral
\usepackage[...]{glossaries}
\makeatletter
\def\@Roman#1{%
\expandafter\@slowromancap\Romannumeral #1@%
}

MfG

eisbaer
26-01-2013, 10:34
Hallo Rainer,

vielen Dank für den Workaround. Da ich mich bisher noch nicht so sehr mit den Tiefen der (La)TeX-Makros beschäftigt habe, kann ich keinen Vorschlag noch nicht ganz durchdringen. Das werde ich mir für eine ruhige Stunde mal genau ansehen.

Auf alle Fälle funktioniert der Workaround. Vielen Dank dafür.

Ich werde die Paketautorin anschreiben und fragen, wie das Problem gelöst werden kann.

Viele Grüße und ein schönes WE wünscht
Uwe

EDIT: Auf der Seite der Paketautorin ist der Fehler bereits gemeldet (s. http://www.dickimaw-books.com/cgi-bin/bugtracker.cgi?action=view&category=glossaries&status=All&search_string=&key=16)