PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : abk-verzeichnis



takeshi
10-11-2005, 11:17
moin,

ich hab ein problem. ich schreibe mein dipl.arbeit und möchte gerne ein abk-verzeichnis. dazu hab ich mir (sehr unwissend, einfach zusammen kopiert) einen newcommand definiert:

\newcommand{\ab}[2]{\expandafter\ifx\csname#1\endcsname\relax
#2\nomenclature{#1}{#2}
\global\expandafter\let\csname#1\endcsname((#1)\el se#1\fi}

das ganze hab ich mir so vorgestellt:

\ab{abk.}{erklaerung} soll einen eintrag ins abk-verzeichnis machen und die abkürzung im text hinter die erklaerung in klammern setzen, sofern diese zum ersten mal auftaucht. bei allen weiteren malen soll nur die abk auftauchen, ohne klammern.

das ganze funktioniert wunderbar, solange ich kein ausdruecke wie : $\mathrm{\mu }$ oder aehnliches verwende. dann kommt die beschwerde: missing \endcsname inserted, to be read again...

:confused: :confused:

rais
10-11-2005, 13:59
Moin moin,
wozu das Rad zweimal erfinden?
Schau Dir mal das acronym - Paket an, da wird so abgekürzt;)
MfG,

takeshi
10-11-2005, 14:30
ups,

ich glaube das hatte ich vor ewigkeiten schon mal getestet. ich glaube ich bin daran gescheitert, die einträge alphabetisch zu ordnen. gibts da ne möglichkeit?

besten dank!

rais
10-11-2005, 14:40
Moin,
wieso gescheitert? Das ist da doch eh manuell, sprich: die \acro - Definitionen werden in derselben Reihenfolge ausgegeben, in der sie in ihrer acronym-Umgebung auch auftauchen - sortieren mußt Du da also selbst.
MfG,

takeshi
10-11-2005, 14:50
moin,

gescheitert, weil zu faul zum sortieren. ich dachte, es gibt eine konfortablere lösung, mit der ich wild durcheinander gewuerfelte acronyme sortiert ausgeben lassen kann. aber dann muss ich wohl "per hand" sortieren.

die andere loesung, an der ich mich mit dem newcommand versucht habe, haette einfach alle jemals im text vorgekommenen abk sortiert in einer liste ausgegeben (mit makeinex). sogar ohne dass ich diese vorher getrennt in eine speziellen umgebung haette definieren muessen.

ben

rais
10-11-2005, 21:12
Moin Ben,
Ah ja... verständlich, wozu nennt sich die Büchse vor der Nase auch Computer-soll der das doch erledigen:D
LaTeX scheint sich an den mathematischen Befehlen innerhalb \csname...\endcsname zu stören. Hmm - versuch's für die Symbole doch mal etwa so:


:
\usepackage{nomencl}
\makeglossary %%%bzw. \makenomenclature
\newcounter{mysymbols}
\newcommand{\asym}[3][zzz]{%
\expandafter\ifx\csname asym\arabic{mysymbols} \endcsname\relax
#3\nomenclature[#1]{#2}{#3}
\global\expandafter\let\csname asym\arabic{mysymbols} \endcsname\relax \protect(#2)\else#2\fi%
\stepcounter{mysymbols}%
}
:
\begin{document}
:
\asym{$\mathrm{\mu$}}{Mikro} oder nach wie vor mit Deinem \ab{MB}{Minimalbeispiel}
:
\printglossary %%%bzw. \printnomenclature
\end{document}

Der optionale Parameter für \asym kann dabei Eingriff auf die Sortierreihenfolge nehmen - wie Du siehst, wird er einfach an \nomenclature zu diesem Zweck übergeben, siehe also beim nomencl - Paket nach, wie das nu wieder funzt;)
MfG,

Knuddelbär
11-11-2005, 10:56
Also ich nutze für mein Abkürzungsverzeichnis:


%%%%%%%%%%%%%%%%%% Abkuerzungsverzeichnis %%%%%%%%%%%%%%%%%%

%Befehl: "makeindex deinfile.nlo -s nomencl.ist -o deinfile.nls"
%Sequenz: pdflatex, Befehl, pdflatex, pdflatex

\usepackage[intoc,noprefix]{nomencl} %für nomenclature Abkuerzungsverzeichnis
\renewcommand{\nomname}{Abkürzungsverzeichnis}
\setlength{\nomlabelwidth}{3cm}
\setlength{\nomitemsep}{-\parsep}

\makenomenclature

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%

Im File kannst du die Abkürzungen in unsortierter Reihenfolge angeben (ich hab sie in einem extra-File, man kann sie jedoch auch in den Text einbinden):



\nomenclature{DMG}{Directing Metalation Group}

\nomenclature[ee]{\textit{ee}}{enantiomeric excess,
Enantiomerenüberschuss}

\nomenclature[ppm]{\textit{ppm}}{parts per million}

\nomenclature{m}{Multiplett}


Die in eckigen klammern angegebenen Werte geben and, welche Buchstabenkombination für die Sortierung genutzt werden soll, da er sonst die \textit-Sachen ganz nach oben ordnet.

takeshi
11-11-2005, 14:32
nochmal moin!

danke fuer eure vielen inspirationen. rainers version hab ich ausprobiert, irgendwie meckert er bei bei... die version von renne hab ich auch so meine schwierigkeiten.

ich hab mich jetzt soweit mit dem acronym-package angefreundet, auch wenn das nicht optimal ist. z.b.: wenn ich mit \mathrm{} eine abkürzung definiere wie (\acro{nfkb}[\mathrm{NF-\kappa B}]{nuclear factor kappa B}), dann sticht dieser eintrag im abb-verzeichnis hervor, weil er leider nicht fett geschrieben ist... wenn ich ihn mit \mathbf{} deklariere ist er im text fett geschrieben. ich werd mich jetzt fuer die schmale variante im abb-verzeichnis entscheiden. hab leider nicht mehr so viel zeit, die arbeit muss auch nochmal fertig werden.

aber wie bereits jesagt: besten dank fuer die hinweise! :)
ben