Seite 1 von 1

Glossaries und Texnix-Center geht nicht mehr

Verfasst: Fr 31. Okt 2014, 11:25
von Mr. Knackwurst
Hallo,

bisher habe ich viele Fragen alleine durch die Recherche hier im Forum beantwortet bekommen. Vielen Dank hierfür. Aktuell stehe ich jedoch vor einen Problem, welches ich bis jetzt noch nicht lösen konnte.

Ich habe ein recht umfangreiches Dokument, welches ich vor knapp einem Jahren auf einem Windows XP Rechner erfolgreich fertig gestellt habe. Mittlerweile bin ich auf Windows 7 umgestiegen und müsste nun an diesem Dokument ein paar Kleinigkeiten ändern. Leider klappt nun die Positionierung der Eintrage im Glossary nicht mehr. Was kann da falsch sein? Hat sich durch die Neuinstallation oder das 64bit System etwas geändert.

Ich arbeite mit dem TeXnicCenter. Dort habe ich vermutlich auch die korrekten Einstellungen bei den Ausgabeprofilen hinterlegt. Ich habe diese als Kommentar unten auch angefügt.

Anbei ein Minimalbeispiel.
\documentclass[%
	a4paper,%
	12pt,%    
]{scrreprt}

\usepackage [ngerman]{babel}

\usepackage{amssymb}

\usepackage[
nonumberlist,
acronym,
section
]{glossaries}

%Anwendung: C:\Program Files\MiKTeX 2.9\miktex\bin\x64\makeindex.exe
% -s "%tm.ist" -t "%tm.slg" -o "%tm.syi" "%tm.syg"
\newglossary[slg]{symbolslist}{syi}{syg}{Glossar}

\usepackage{tabularx}
\newcolumntype{L}[1]{>{\raggedright\arraybackslash}p{#1}}
\newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}}
\newcolumntype{R}[1]{>{\raggedleft\arraybackslash}p{#1}}

\newglossarystyle{symbol}{
\setglossarystyle{long3colheader}
\renewenvironment{theglossary}
{\begin{longtable}{c|C{2cm}|L{\glsdescwidth}}}
{\end{longtable}}
\renewcommand*{\glossaryheader}{\textbf{Bezeichnung} & \textbf{Einheit} &
\textbf{Beschreibung}\\}%
\renewcommand*{\glossaryentryfield}[5]{%
\glsentryitem{##1}\glstarget{##1}{##2} & ##4 & ##3 \\}%
}


\makeglossaries

\newglossaryentry{symb:psi}{
name={Bez.},
description={Beschr.},
symbol={Einh.},
sort=symbol_zy, 
type=symbolslist
}


\begin{document}
\glsaddall
\printglossary[type=symbolslist,style=symbol]
\end{document}

Dieses läuft fehlerfrei. Die Positionen stimmen jedoch nicht mehr. Die erste Spalte passt, aber unter der zweiten Spalte "Einheit" steht nun Beschr. und unter der Spalte "Beschreibung" steht nichts.

Ich vermute den Fehler in den Zeilen
\renewcommand*{\glossaryentryfield}[5]{%
\glsentryitem{##1}\glstarget{##1}{##2} & ##4 & ##3 \\}%
Änderungen an diesen Zeilen zeigen jedoch überhaupt keine Auswirkung. Darf dies überhaupt sein oder wird die Zeile aus irgendwelchen, mit unerklärlichen Gründen ignoriert?

Vielen Dank vorab für die Hilfe.

Verfasst: Fr 31. Okt 2014, 13:40
von u_fischer
Ich glaube du brauchst jetzt sowas
\renewcommand*{\glossentry}[2]{%
\glsentryitem{##1}\glstarget{##1}{\glossentryname{##1}} &\glossentrysymbol{##1} &\glossentrydesc{##1} \\}%
}

Verfasst: Fr 31. Okt 2014, 17:45
von Mr. Knackwurst
Hallo u_fischer,

perfekt, dies war es in der Tat. Beim Minimalbeispiel klappt es. Ich werde es später beim tatsächlichen Dokument probieren.

Weißt du auch warum ich dies früher nicht gebraucht habe?

Vielen vielen Dank für deine Hilfe. Da wäre ich von alleine nicht drauf gekommen. :oops: