PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Symbolverzeichnis mit 3 Spalten (glossaries)



GrooveXT
12-08-2009, 12:00
Hallo Leute,
ich arbeite an meiner Diplomarbeit und bin nach langen Irrwegen über MS Office und Openoffice nun bei Latex angekommen, da besagte Officue Suiten doch enorme Probleme mit 70 Seiten Text und 40 Diagrammen aufweisen.
Das Problem an der Sache ist, dass mir die Erleuchtung ein wenig spät gekommen ist und der Abgabetermin nun in unangenehme Nähe (ende August) gerückt ist. Zum Glück habe ich von meinem Prof ne Vorlage ergattern können, die ich nur noch meinen Bedürfnissen anpassen muss.

Nachdem ich gemerkt habe, dass einge Pakete veraltet sind und sich nicht so anpassen lassen wie ich das gerne hätte, bin ich nun mit dem Austauschen zugange.

Der Punkt ist, dass ich nun versuche, mittels glossaries, ein Symbolverzeichnis einzubinden. Dank diesem und diverser anderer Foren hat das auch ganz gut geklappt. Problem ist nur, dass mein Betreuer verlangt, dass der Aufbau des Symbolverzeichnis nicht

Symbol Beschreibung

lautet, sondern


Symbol Einheit Beschreibung

und das möglichst mittig auf der Seite. Jetzt hat mich Latex schon bald eine Woche kostet, bis ich mich ein gearbeitet und meine komplette Arbeit übertragen hatte. Nun fehlt mir einfach die Zeit, mich mit einzelnen Paketen auseinandern zu setzen. Habe es versucht mit glossaries und diesem newglossarystyle, aber irgendwie verstehe ich das nicht auf die Schnelle.

Kann mir da jmd helfen?

Wenns gar nicht geht, muss ich es wohl per Hand designen.

Vielen Dank

PS:
habe vorher hier im Forum gesucht, aber leider nur Beschreibungen gefunden, die nicht funktionieren oder auf anderen Paketen (z.B. normencl) basieren.

Achja, weil hier ja gerne etwas Code verlangt wird, hier mal meine Einbindung des Symbolverzeichnis:


\usepackage[nonumberlist, acronym, toc,description]{glossaries}
\newglossary[slg]{symbolslist}{syi}{syg}{Symbolverzeichnis}
\makeglossaries

\begin{document}

\newglossaryentry{symb:time}{
name=$T$,
description={Die Laufzeit},
sort=symboltime, type=symbolslist
}
\printglossary[type=symbolslist,style=longheader]

\end{document}

u_fischer
12-08-2009, 13:34
Du hast viel Zeit über deine Probleme zu schreiben. Die hättest du mal besser in ein lauffähiges Beispiel gesteckt.


\documentclass{article}
\usepackage{glossaries}
\newglossary[slg]{symbolslist}{syi}{syg}{Symbolverzeichnis}
\makeglossaries
\newglossaryentry{symb:time}{
name=$T$,
description={Einheit & Die Laufzeit},
sort=symboltime, type=symbolslist
}
\newglossarystyle{mylong}{%
\renewenvironment{theglossary}%
{\begin{longtable}{llp{\glsdescwidth}}}%
{\end{longtable}}%
\renewcommand*{\glossaryheader}{}%
\renewcommand*{\glsgroupheading}[1]{}%
\renewcommand*{\glossaryentryfield}[5]{%
\glstarget{##1}{##2} & ##3\glspostdescription\space ##5\\}%
\renewcommand*{\glossarysubentryfield}[6]{%
& \glstarget{##2}{\strut}##4\glspostdescription\spac e ##6\\}%
\renewcommand*{\glsgroupskip}{ & \\}%
}

\begin{document}
abc
\gls{symb:time}
\printglossary[type=symbolslist,style=mylong]
\end{document}

bobmalaria
12-08-2009, 13:58
hi,

das beispiel in der diku lässt sich super dazu verwenden


\documentclass{article}

\usepackage[nonumberlist, acronym, toc,description]{glossaries}
\newglossary[slg]{symbolslist}{syi}{syg}{Symbolverzeichnis}
\makeglossaries

\newglossarystyle{mylist}{%
% put the glossary in the itemize environment:
\renewenvironment{theglossary}{\begin{itemize}}{\e nd{itemize}}%
% have nothing after \begin{theglossary}:
\renewcommand*{\glossaryheader}{}%
% have nothing between glossary groups:
\renewcommand*{\glsgroupheading}[1]{}%
\renewcommand*{\glsgroupskip}{}%
% set how each entry should appear:
\renewcommand*{\glossaryentryfield}[5]{%
\item[] % bullet point
\centering
\glstarget{##1}{##2}% the entry name
\space (##4)% the symbol in brackets
\space ##3% the description
%\space [##5]% the number list in square brackets
\linebreak
}%
% set how sub-entries appear:
\renewcommand*{\glossarysubentryfield}[6]{%
\glossaryentryfield{##2}{##3}{##4}{##5}{##6}}%
}


\begin{document}
hallo

\newglossaryentry{symb:time}{%
name=$T$,
symbol=t,
description={Die Laufzeit},
sort=symboltime, type=symbolslist
}
\newglossaryentry{symb:g}{%
name=$g$,
symbol=$\frac{m}{s^2}$,
description={Beschleunigung},
sort=symbolg, type=symbolslist
}

\gls{symb:time}\gls{symb:g}

\printglossary[type=symbolslist,style=mylist]

\end{document}

GrooveXT
12-08-2009, 14:09
Vielen, vielen Dank erstmal. :)

@Ulrike
Genau das habe ich gesucht. Jedoch funktioniert das ganze noch nicht einwandfrei. Zwar sieht das Symbolverzeichnis so aus wie ich mir das vorgestellt habe, Latex schmeißt aber nen Fehler.



Undefined control sequence.
\glossaryentryfield #1#2#3#4#5->\glstarget
{2} & #3 \glspostdescription\spa...
1.5 \setentrycounter{page}\glsnumerformat{1}}}


Der Hierhin verweisst (.syi-Datei)


\glossarysection[\glossarytoctitle]{\glossarytitle}\glossarypreamble
\begin{theglossary}\glossaryheader
\glsgroupheading{S}\relax \glsresetentrylist %
\glossaryentryfield{symb:time}{\glsnamefont{$T$}}{ Einheit & Die Laufzeit}{\relax }{\glossaryentrynumbers{\relax
--> \setentrycounter{page}\glsnumberformat{1}}}%
\end{theglossary}\glossarypostamble

Habe es sowohl mit dem Beispielcode als auch mit meiner eigenen Arbeit probiert.

Nochmals danke und entschuldigung für meinen schlechte Beispielcode. Wie gesagt, bin noch frisch mit Latex und habe daher noch nicht den Durchblick, was alles zu einem lauffähigen Dokument gehört.:o

GrooveXT
12-08-2009, 15:49
Ok, habs herausgefunden.

Es liegt an \glstarget. Wenn ich den Eintrag entferne, verschwindet auch der Fehler.

Dann noch mal vielen Dank.