PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Abkürzungs + Glossareintrag mit \glsadd und Zitat



sharpType
10-08-2009, 13:15
Hallo,

(ja ich schon wieder) :)

Das Glossaries-Package macht mich noch ganz kaputt...

Folgendes Minimalbeispiel:



\documentclass{scrartcl}

\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage[toc,acronym]{glossaries}


\newglossaryentry{glos:eva}{name={EVA-Prinzip},
description={
Das EVA-Prinzip (Eingabe - Verarbeitung - Ausgabe) gilt als Grundschema der elektronischen Datenverarbeitung (EDV).
},sort=EVA-Prinzip}


\newacronym{CATIA}{CATIA}{Computer Aided Three-Dimensional Interactive Application\protect\glsadd{glos:eva}}

\makeglossaries

\begin{document}

\glsdisp{CATIA}{CATIA}
\gls{CATIA}

\printglossary[style=long3colheader,toctitle=Glossar,title=Glossa r]
\printglossary[type=\acronymtype,style=long3colheader,toctitle=Ab kürzungsverzeichnis,title=Abkürzungsverzeichnis]

\end{document}


Fakt ist: Werden beide gls-Befehle (glsdisp und gls) herausgenommen und dafür nur ein \gls{CATIA} geschrieben erscheint im Text natürlich die Abkürzung ausgeschrieben UND es wird wie gewollt gleichzeitig EVA zum Glossar hinzugefügt.

Es soll aber so sein, das CATIA nicht ausgeschrieben werden soll, demnach \glsdips{CATIA}{TEXT} verwenden (Use-Flag soll gesetzt werden). Das Problem ist dann jedoch das komischerweise dann \glsadd ignoriert wird und es taucht kein gewollter Glossareintrag auf. :mad:

Und verwende ich beide Befehle, also \gls{CATIA} nochmal danach, erscheint der Eintrag im Glossar ebenfalls nicht. Er erscheint nur, wenn ich NUR \gls{CATIA} schreibe, aber dann wird die Abkürzung ausgeschrieben, was nicht gewollt ist.

Oje ich hoffe man kann das irgendwie nachvollziehen.

Kann mir da jmd helfen? Wäre echt super!

Vielen Dank

Kompiliert mit:

pdflatex h
makeglossaries h
pdflatex h
pdflatex h

sharpType
11-08-2009, 11:19
keiner eine Idee? :(

u_fischer
11-08-2009, 11:54
Nun, deine Beschreibung war nicht sonderlich verständlich. Ich gehe aber mal davon aus, dass du gar nicht \newacronym verwenden willst.


\newglossaryentry{CATIA}{type=\acronymtype,
name={CATIA},
description={Computer Aided Three, ... \protect\glsadd{glos:eva}},
text={CATIA},
first={CATIA}}

sharpType
11-08-2009, 14:45
hmm ich weiß jetzt was das Problem ist, aber das macht es nicht besser. Folgendes:

wenn ich bzw man im allgemeinen irgendwo im glossar oder abkürzungsverzeichnis \protect\glsadd{glos:DMU} schreibt, dann kann man sich ja entscheiden wohin. D.h zb

\newglossaryentry{DMU}{type=\acronymtype,
name={DMU},
description={Digital Mock-Up},
text={DMU\protect\glsadd{glos:DMU}},
first={Digital Mock-Up (DMU)},
plural={Digital Mock-Ups},
firstplural={Digital Mock-Ups (DMUs)}}

wie in diesem Fall, in den text-Bereich. wird allerdings zb ein Befehl wie \glsdisp{DMU}{Anderer Text} benutzt, wird der Eintrag "text" und somit \glsadd... gar nicht ausgeführt und somit hab ich auch kein Eintrag im Glossar. Das ist die Ursache für mein Problem. Eine Lösung wäre warscheinlich \protect\glsadd überall in jedem Zweig einzubauen, aber das ist wohl nur eine Notlösung?

Gibt es vielleicht einen Eintrag, der immer ausgeführt wird, egal wie ich mich auf den Eintrag referenziere? Ich habe schon ausprobiert, \glsadd irgendwie hinter den Namen o. Ä zu packen, aber kein Erfolg. :mad:

sharpType
11-08-2009, 14:55
Fehlanzeige:



\newacronym{CATIA}{CATIA\protect\glsadd{glos:CATIA }}{Computer Aided Three-Dimensional Interactive Application\protect\glsadd{glos:CATIA}}


funktioniert mit:

\glsdisp{CATIA}{CATIA} V5

im Text auch nicht :mad:, es wird dann einfach kein Glossareintrag erstellt!

u_fischer
11-08-2009, 15:24
Tut mir leid ich verstehe dein Problem nicht. Bei folgendem Beispiel habe ich einen Eintrag im Glossar, einem im Abkürzungsverzeichnis und drüber im Text steht "CATIA". (Du musst natürlich zweimal makeglossaries mit einem latex-Lauf dazwischen aufrufen)


\documentclass{scrartcl}

\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage[toc,acronym]{glossaries}


\newglossaryentry{glos:eva}{name={EVA-Prinzip},
description={
Das EVA-Prinzip (Eingabe - Verarbeitung - Ausgabe) gilt als Grundschema der elektronischen Datenverarbeitung (EDV).
},sort=EVA-Prinzip}


\newglossaryentry{CATIA}{type=\acronymtype,
name={CATIA},
description={Computer Aided Three, ... \protect\glsadd{glos:eva}},
text={CATIA},
first={CATIA}}

\makeglossaries

\begin{document}

\gls{CATIA}

\printglossary[style=long3colheader,toctitle=Glossar,title=Glossa r]
\printglossary[type=\acronymtype,style=long3colheader,toctitle=Ab kürzungsverzeichnis,title=Abkürzungsverzeichnis]

\end{document}

sharpType
11-08-2009, 15:47
Oman hab vielen Dank Ulrike!

Es funktioniert und es lag tatsächlich an dem zweimaligen Aufruf von makeglossaries!

Aber das was ich sagte strimmt denke ich auch (so zumindest getestet): Lässt man makeglossaries nur einmal laufen, dann muss das \glsadd in dem Zweig stehen, der unmittelbar bei diesem Durchlauf ausgeführt wird, ist also abhängig von der Referenzierungsart \glsdisp , \gls etc.

Aber natürlich schwachsinnig, denn zweimal laufen lassen ist dann wohl die treffendere Lösung :)

Oje war das eine schwierige Geburt! Danke für die Geduld!

Meine Batch-Datei zur Kompilierung sieht nun (entsprechend angepasst) so aus:





Mode con cols=100 lines=40
TITLE ### Erzeugung des LateX-Dokumentes ###
@echo off
CLS
COLOR 17
ECHO PDF-Latex-RUN
ECHO =======================================
pdflatex dokument

CLS
COLOR 20
ECHO MAKEGLOSSARIES-RUN
ECHO =======================================
makeglossaries dokument

CLS
COLOR 17
ECHO PDF-Latex-RUN
ECHO =======================================
pdflatex dokument

CLS
COLOR 20
ECHO MAKEGLOSSARIES-RUN
ECHO =======================================
makeglossaries dokument

CLS
COLOR 47
ECHO BIBTEX-RUN (MAINDOC)
ECHO =======================================
bibtex dokument

CLS
COLOR 47
ECHO BIBTEX-RUN (ON)
ECHO =======================================
bibtex On

CLS
COLOR 17
ECHO PDF-Latex-RUN
ECHO =======================================
pdflatex dokument


CLS
COLOR 17
ECHO PDF-Latex-RUN
ECHO =======================================
pdflatex dokument