Formelverzeichnis mit Glossaries | Variablenlänge auslesen

Inhalt, Abbildungen, Tabellen, Quellcodes und andere Verzeichnisse


Goldi94
Forum-Newbie
Forum-Newbie
Beiträge: 3
Registriert: Fr 1. Jan 2016, 16:34

Formelverzeichnis mit Glossaries | Variablenlänge auslesen

Beitrag von Goldi94 »

Hallo Community,

ich wünsche erst einmal ein gesundes neues Jahr.
Ich bin noch nicht sehr sicher in latex. Derzeit bearbeite ich ein Dokument, was als eine Art Formelsammlung fungieren soll. Darin ist ein Symbolverzeichnis mit dem Paket Glossaries enthalten, welches ich formatieren möchte.

Mein Plan:
bei der Formatierung möchte ich abhängig, ob das Symbol eine Einheit besitzt oder nicht, diese Einheit mit angeben.
Dafür möchte ich die Länge der Variable "\glssymbols" auslesen.
Wenn diese leer ist --> keine Einheitenangabe
wenn Werte vorhanden --> Einheitenangabe

Mein Problem:
Die Schleife und alles Weitere funktioniert nur leider kann ich die Variable nicht auslesen....

Es ist bestimmt eine der einfachsten Sachen die es gibt, aber ich stehe gerade auf dem Schlauch.

Vielen Dank für eure Hilfe!
\documentclass{report}
\usepackage{setspace}
\usepackage[locale=DE]{siunitx}
\usepackage[nopostdot,nonumberlist,acronyms,section]{glossaries}


\newglossarystyle{supergroup}{%
  \setglossarystyle{super}%
  \renewcommand*{\glsgroupskip}{}%
  \renewcommand{\glossentry}[2]{%
    \tabularnewline
    \multicolumn{2}{l}{%
     \bfseries\glsentryitem{##1}\glstarget{##1}{\glossentryname{##1}}%
    }% 
    \tabularnewline
    \tabularnewline
  }%
  
  	%---------------- Hier liegt das Problem ----------------------------------------------------
  	%--------------------------------------------------------------------------------------------
   	 \newlength{\symblen} %definition der Symbollaenge 
   	 %\settowidth{\symblen}{\glossentrysymbol{##2}} %messen der Symbollaenge  
   	 \settowidth{\symblen}{test} %messen der Symbollaenge --- wenn ich das nutzte funktioniert es und die Einheiten werden angezeigt 
	%--------------------------------------------------------------------------------------------
	%--------------------------------------------------------------------------------------------
	 
	 \renewcommand{\subglossentry}[3]{% 	
  	 \glssubentryitem{##2}%
     \glstarget{##2}{\glossentryname{##2}}  & 
     
     \ifdim\symblen=0pt %ohne einheitenangabe 
     \glossentrydesc{##2}\glspostdescription \space    
     ##3\tabularnewline 
   	 
   	 \else   %mit Einheitenangabe
   	 \glossentrydesc{##2}\glspostdescription \space [\glstarget{##2}{\glossentryname{##2}}]$=$ \glossentrysymbol{##2}
     ##3\tabularnewline
     
     \fi
   	 } 	  
}

\newglossary[slg]{symbol}{sot}{stn}{Symbols}
\makeglossaries

\newglossaryentry{lat}{
  type=symbol,
  name={Kleine Lateinische Buchstaben},
  description={}}

\newglossaryentry{greek}{
  type=symbol,
  name={Griechische Buchstaben},
  description={}}

\newglossaryentry{grlat}{
  type=symbol,
  name={Große Lateinische Buchstaben},
  description={}}



\newglossaryentry{symbPhi}{
type=symbol,
name={\ensuremath{\Phi}},
sort=grPhi,
symbol=\si{\kilo\gram},
description={Porösität},
parent=greek
}

\newglossaryentry{symbvp}{
type=symbol,
name={\ensuremath{V_p}},
sort=grlatvp,
description={zugänglicher Hohlraumgehalt},
parent=grlat
}

\newglossaryentry{symbvg}{
type=symbol,
name={\ensuremath{V_g}},
sort=latvg,
description={Gesamtvolumen},
parent=lat
}

\begin{document}
\onehalfspacing

\section*{List of Symbols and Acronyms}
\glsaddall

\printglossary[type=symbol,style=supergroup]
\printglossary[type=acronym]

\newpage
% Test unitx - paket 
\si{\kilogram\metre\per\second}\\
\SI{1.2e5}{\kilogram\metre\per\second}


\end{document}