PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Abkürzungsverzeichnis mit glossaries



LuPi
07-06-2011, 18:18
Bei der Erstellung eines AKV mit dem Paket glossaries habe ich noch
einen Sonderwunsch. Gemäß folgendem Beispiel muss die Abkürzung
jeweils im Text "erscheinen" (mit \gls). Wenn ich dies - aus welchen
Gründen auch immer - unterdrücken möchte: Wie geht das?


\documentclass{scrartcl}
\usepackage[acronym]{glossaries}
\makeglossaries
\newcommand{\loaentry}[3]{\newacronym{#1}{#2}{#3}\gls{#1}}
\begin{document}
\loaentry{A}{A}{Alpha}

\printglossaries
\end{document}

Den Text in weiß setzen bringt nichts, da ja der Platz verbraucht wird ...

mechanicus
07-06-2011, 18:28
Hi,

meinst du sowas?


\documentclass{scrartcl}
\usepackage[acronym]{glossaries}
\makeglossaries
\makeatletter
\newcommand\loaentry{\@ifstar\@loaentry\@@loaentry }
\newcommand\@loaentry[3]{\newacronym{#1}{#2}{#3}\glsadd{#1}}
\newcommand\@@loaentry[3]{\newacronym{#1}{#2}{#3}\gls{#1}}
\makeatother
\begin{document}
\loaentry{A}{A}{Alpha}

\loaentry*{B}{B}{Beta}

\printglossary[type=\acronymtype]
\end{document}


Oder suchst du den Befehl glsaddall?

Marco

LuPi
08-06-2011, 10:40
Oder suchst du den Befehl glsaddall?

Genau den! [Das ist das Resultat meiner ersten hektischen Schritte
mit dem glossaries-Paket. Und ich muss zugeben, dass mich die
300-Seiten-Doku im ersten Moment schon etwas abgeschreckt hat.]

Damit bekomme ich immerhin schon eine von der leeren Menge verschiedene
acn-Datei. Allerdings ist darin noch etwas enthalten, was makeindex nicht
gefällt.

Vielen Dank für Deinen Hinweis. Ich melde mich wieder!

LuPi
08-06-2011, 10:58
Das ging jetzt (leider) schneller als gedacht. Mit dem folgenden Beispiel


\documentclass{scrartcl}
\usepackage[acronym]{glossaries}
\makeglossaries
\newcommand\loaentry[3]{\newacronym{#1}{#2}{#3}}
\AtEndDocument{\glsaddall}
\begin{document}
\loaentry{A}{A}{Alpha}

\printglossary[type=\acronymtype]
\end{document}

bekomme ich beim Versuch, die entstehende acn-Datei


\glossaryentry{A?\glossaryentryfield{A}{\glsnamefo nt{A}}{Alpha}{\relax }|setentrycounter{page}\glsnumberformat}{1}


mit


makeindex -t test.alg -o test.acr test.acn

zu verarbeiten nicht das gewünschte Ergebnis, sondern die Fehlermeldung


This is makeindex, version 2.14 [02-Oct-2002] (kpathsea + Thai support).
Scanning input file test2.acn...
!! Input index error (file = test2.acn, line = 1):
-- Unknown index keyword \glossaryentry.
done (0 entries accepted, 1 rejected).
Nothing written in test2.acr.
Transcript written in test2.alg.

Was mache ich da falsch? Ich gehe davon aus, dass das Fragezeichen im
\glossaryentry da fehl am Platz ist ...


Variante 2 (mit Angabe des types bei glsaddall)


\documentclass{scrartcl}
\usepackage[acronym]{glossaries}
\makeglossaries
\newcommand\loaentry[3]{\newacronym{#1}{#2}{#3}}
\AtEndDocument{\glsaddall[types=\acronymtype]}
\begin{document}
\loaentry{A}{A}{Alpha}

\printglossary[type=\acronymtype]
\end{document}

Ergebnis: acn ist wieder leer!


[Nachtrag: Interessanterweise tritt dasselbe Problem (mit dem Fragezeichen) auch mit dem Beispiel von http://ewus.de/tipp-1029.html auf.]

bobmalaria
08-06-2011, 11:06
hi,

bei mir gehts und zwar mit dem maleglossaries perl skript das bei glossaries dabei ist (sehr zu empfehlen das es dir die aufrufe abnimmt)

das skript ruft makeglossaries so auf


makeindex -s "test.ist" -t "test.alg" -o "test.acr" "test.acn"

das ist ein klein wenig verschieden von deinem aufruf und vielleicht der grund dafuer das es nicht geht

http://www.mrunix.de/forums/attachment.php?attachmentid=4603&stc=1&d=1307527746

LuPi
08-06-2011, 11:17
Da warst Du einen Schritt schneller als ich. Mir ist nämlich beim weiteren
Experimentieren auch aufgefallen, dass "-s test.ist" fehlt. Und dann läuft
es tatsächlich korrekt durch.

Der Hintergrund, dass ich das perl-Skript nicht verwende, ist der, dass
der Verlag meine Dateien selbst verarbeiten will und perl dort nicht
installiert ist. Da wir nach einigem "Kampf" es gerade geschafft haben,
das Thema LaTeX dort überhaupt zu platzieren, bin ich jetzt vorsichtig
und will niemand vergraulen.

Vielen Dank für Deine Unterstützung (die ich möglicherweise in den
kommenden Tagen noch in Anspruch nehmen möchte, da das Verzeichnis
natürlich noch nicht den Verlagsvorgaben entspricht; aber das schaue
ich erst einmal, wie weit ich komme)!

bobmalaria
08-06-2011, 12:54
du kannst den stil in dem das verzeichnis erstellt wird recht frei formatieren. schaue dir dazu die stile an die schon bei glossaries dabei sind.

in der doku werden die auch etwas erklaert und im paketordner befinden sich auch die ganzen stile als dateien und du kannst den code ansehen.

gruss

LuPi
08-06-2011, 13:23
Das sieht mit style=long auf den ersten Blick auch schon fast so aus,
wie es erwartet wird. Ich habe allerdings ein Problem, für das ich in
der Beschreibung keinen Eintrag gefunden habe. Benötigt wird keine
separate Überschrift (title=), aber es soll ohne zusätzlichen Abstand
unter einem \chapter-Eintrag stehen. Diese \chapter-Definition kann
ich nicht anfassen, so dass ich mit/an glossaries spielen muss.
Natürlich kann ich mit Probieren entweder direkt oder in der preamble
einen negativen vertikalen Abstand einbauen (noch nicht getestet),
aber so etwas widerstrebt mir zutiefst. Besteht die Möglichkeit,
glossaries mitzuteilen, dass keine zusätzlichen vertikalen Abstände
davor (und danach) gewünscht werden? Und natürlich keine Seiten-
umbrüche usw.

mechanicus
08-06-2011, 17:07
Hi,

probiere mal:

\renewcommand*{\@@glossarysec}[1]{}

Marco

LuPi
09-06-2011, 06:29
Fast! :)

Liefert zwar das gewünschte Ergebnis, aber auch eine Fehlermeldung.

Ich bin dann in die zweite Hälfte der Doku (Code-Beschreibung) abgetaucht und habe da


\renewcommand*{\glossarysection}[2][]{}


gefunden, mit dem tatsächlich ohne Fehlermeldung der Abstand wegfällt.
Danke für Deinen Hinweis, der mich auf den richtigen Pfad gesetzt hat.

Leider war das noch nicht Alles, so dass ich mich vermutlich noch einmal melden werde.