Seite 1 von 2

Symbolverzeichnis erstellen

Verfasst: Mi 30. Aug 2017, 15:22
von ocir
Hallo :)

Ich möchte ein Symbolverzeichnis erstellen.
Es soll das Symbol mit Beschreibung UND der zugehörigen Einheit aufgelistet werden. Seitenzahlen nicht!

Ich habe das Paket listofsymbols gefunden, dieses scheint sich dafür aber nicht komplett zu eignen, richtig? (wegen der fehlenden Einheit)

Aber sei es drum, ich habe es trotzdem mal getestet. Wie funktioniert dann der Aufruf im Text? Beim Abkürzungsverzeichnis schreibt man dann ja bspw.
Text Text \acs{XY} Text
Wie sieht der Befehl für das Symbolverzeichnis aus?

Leider bekomme ich eine Fehlermeldung beim kompilieren:

undefined old font command

Hier der Code:
\documentclass[
BCOR=5mm,          
DIV=10,             
fontsize=11pt,      
oneside,    
parskip,        
bibliography=totoc, 
listof=totoc,      
fleqn,			
numbers=noenddot			
]{scrbook} 

\usepackage[utf8]{inputenc}    
\usepackage[T1]{fontenc}        
\usepackage[ngerman]{babel}     
\usepackage[ngerman]{translator}

\usepackage[draft]{listofsymbols}
\renewcommand{\symheadingname}{Symbolverzeichnis}
\opensymdef
\newsym[Lagerkraft des oberen Lagers in X"=Richtung]{FFox}{F_{F_{ox}}}
\closesymdef

\begin{document}
\listofsymbols
\end{document}

Re: Symbolverzeichnis erstellen

Verfasst: Mi 30. Aug 2017, 16:20
von markusv
ocir hat geschrieben:Leider bekomme ich eine Fehlermeldung beim kompilieren:

undefined old font command
Hallo. Das Paket ist längst veraltet und scheint daher auch nicht mehr gepflegt zu werden.

Alternativ lassen sich solche Verzeichnisse mit glossaries glossaries-extra, nomencl etc. erstellen. Beispiele finden sich unzählige, u.a. hier im Forum. Beachte bspw. auch http://golatex.de/abkuerzungs-und-symbo ... 19159.html

Re: Symbolverzeichnis erstellen

Verfasst: Mi 30. Aug 2017, 19:31
von ocir
Nun denn, ich habe mal was probiert, aber leider funktioniert es nicht.

Jemand eine Idee, woran es liegt?
\documentclass[
BCOR=5mm,          
DIV=10,             
fontsize=11pt,      
oneside,    
parskip,        
bibliography=totoc, 
listof=totoc,      
fleqn,			
numbers=noenddot			
]{scrbook} 

\usepackage[utf8]{inputenc}    
\usepackage[T1]{fontenc}        
\usepackage[ngerman]{babel}     
\usepackage[ngerman]{translator}

\usepackage{xfrac}
\usepackage{tabu}

\usepackage[nonumberlist]{glossaries}

\newcommand*{\newsymbol}[5][]{
    \newglossaryentry{#2}{
           type=symbols,
           name={#3},
           description={\nopostdesc},
           symbol={\ensuremath{#4}},
           user1={\ensuremath{\mathrm{#5}}},
           sort={#2},
           #1
           }
}

\newsymbol{l}{Länge}{l}{m}
\newsymbol{m}{Masse}{m}{kg}
\newsymbol{a}{Beschleunigung}{a}{\sfrac{m}{s^2}}
\newsymbol{t}{Zeit}{t}{s}
\newsymbol{f}{Frequenz}{f}{s^{-1}}
\newsymbol{F}{Kraft}{F}{m \cdot kg \cdot s^{-2} = \sfrac{J}{m}}

\newglossarystyle{symblongtabu}{
     \renewenvironment{theglossary}{
         \begin{longtabu}spread 0pt[l]{ccX<{\strut}l}
      }{
          \end{longtabu}
      }
     \renewcommand*{\glsgroupheading}[1]{}
     \renewcommand*{\glsgroupskip}{}
     \renewcommand*{\glossaryheader}{
          \toprule
          \bfseries Formelzeichen & \bfseries Einheit &
          \bfseries Bezeichnung & \bfseries Seite(n)
          \tabularnewline\midrule\endhead
          \bottomrule\endfoot
       }
     \renewcommand*{\glossentry}[2]{
          \glsentryitem{##1}
          \glstarget{##1}{\glossentrysymbol{##1}} &
          \glsentryuseri{##1} &
          \glossentryname{##1} &
          ##2\tabularnewline
     }
}


\begin{document}
\printsymbols[style=symblongtabu]
\gls{F}
\gls{m}
\end{document}

Verfasst: Mi 30. Aug 2017, 19:55
von Bartman
\documentclass[
BCOR=5mm,          
DIV=10,             
fontsize=11pt,      
oneside,    
parskip,        
bibliography=totoc, 
listof=totoc,      
fleqn,         
numbers=noenddot         
]{scrbook} 

\usepackage[utf8]{inputenc}    
\usepackage[T1]{fontenc}        
\usepackage[ngerman]{babel}     
\usepackage[ngerman]{translator}

\usepackage{xfrac}
\usepackage{tabu}
\usepackage{booktabs}% <- eingefügt

\usepackage[nonumberlist]{glossaries}

\newglossary*{symbols}{Symbolverzeichnis}% <- eingefügt

\makeglossaries% <- eingefügt

\newcommand*{\newsymbol}[5][]{
    \newglossaryentry{#2}{
           type=symbols,
           name={#3},
           description={\nopostdesc},
           symbol={\ensuremath{#4}},
           user1={\ensuremath{\mathrm{#5}}},
           sort={#2},
           #1
           }
}

\newsymbol{l}{Länge}{l}{m}
\newsymbol{m}{Masse}{m}{kg}
\newsymbol{a}{Beschleunigung}{a}{\sfrac{m}{s^2}}
\newsymbol{t}{Zeit}{t}{s}
\newsymbol{f}{Frequenz}{f}{s^{-1}}
\newsymbol{F}{Kraft}{F}{m \cdot kg \cdot s^{-2} = \sfrac{J}{m}}

\newglossarystyle{symblongtabu}{
     \renewenvironment{theglossary}{
         \begin{longtabu}spread 0pt[l]{ccX<{\strut}l}
      }{
          \end{longtabu}
      }
     \renewcommand*{\glsgroupheading}[1]{}
     \renewcommand*{\glsgroupskip}{}
     \renewcommand*{\glossaryheader}{
          \toprule
          \bfseries Formelzeichen & \bfseries Einheit &
          \bfseries Bezeichnung & \bfseries Seite(n)
          \tabularnewline\midrule\endhead
          \bottomrule\endfoot
       }
     \renewcommand*{\glossentry}[2]{
          \glsentryitem{##1}
          \glstarget{##1}{\glossentrysymbol{##1}} &
          \glsentryuseri{##1} &
          \glossentryname{##1} &
          ##2\tabularnewline
     }
}


\begin{document}
\printglossary[style=symblongtabu, type=symbols]% <- geändert
\gls{F}
\gls{m}
\end{document}

Verfasst: Mi 30. Aug 2017, 20:07
von ocir
Danke :)

Aber so richtig funktioniert es ja noch nicht. Ich habe mich hier orientiert. Dort sieht das Ergebnis (Seite 21) aber schon anders aus. :roll:

Verfasst: Mi 30. Aug 2017, 21:16
von Bartman
\documentclass[
BCOR=5mm,          
DIV=10,      
twoside=false,    
parskip,        
bibliography=totoc, 
listof=totoc,      
fleqn,         
numbers=noenddot         
]{scrbook} 

\usepackage[utf8]{inputenc}    
\usepackage[T1]{fontenc}        
\usepackage[ngerman]{babel}     
\usepackage[ngerman]{translator}

\usepackage{xfrac}
\usepackage{tabu}
\usepackage{booktabs}

\usepackage[symbols]{glossaries}% <- geändert

\makeglossaries

\newcommand*{\newsymbol}[5][]{
    \newglossaryentry{#2}{
           type=symbols,
           name={#3},
           description={\nopostdesc},
           symbol={\ensuremath{#4}},
           user1={\ensuremath{\mathrm{#5}}},
           sort={#2},
           #1
           }
}

\newsymbol{l}{Länge}{l}{m}
\newsymbol{m}{Masse}{m}{kg}
\newsymbol{a}{Beschleunigung}{a}{\sfrac{m}{s^2}}
\newsymbol{t}{Zeit}{t}{s}
\newsymbol{f}{Frequenz}{f}{s^{-1}}
\newsymbol{F}{Kraft}{F}{m \cdot kg \cdot s^{-2} = \sfrac{J}{m}}

\newglossarystyle{symblongtabu}{
     \renewenvironment{theglossary}{
         \begin{longtabu}spread 0pt[l]{ccX<{\strut}l}
      }{
          \end{longtabu}
      }
     \renewcommand*{\glsgroupheading}[1]{}
     \renewcommand*{\glsgroupskip}{}
     \renewcommand*{\glossaryheader}{
          \toprule
          \bfseries Formelzeichen & \bfseries Einheit &
          \bfseries Bezeichnung & \bfseries Seite(n)
          \tabularnewline\midrule\endhead
          \bottomrule\endfoot
       }
     \renewcommand*{\glossentry}[2]{
          \glsentryitem{##1}
          \glstarget{##1}{\glossentrysymbol{##1}} &
          \glsentryuseri{##1} &
          \glossentryname{##1} &
          ##2\tabularnewline
     }
}


\begin{document}
\printsymbols[style=symblongtabu]
\gls{F}
\gls{m}
\newpage
\gls{m}
\gls{a}
\end{document}

Verfasst: Mi 30. Aug 2017, 21:56
von ocir
Kann es sein, dass die Anzeige der Ergebnisse unterschiedlich ist? :roll:

Ich habe mal zwei Bilder angehängt. So wie es werden soll und wie es mir in Overleaf angezeigt wird.

So hätte ich es gerne:


Bild

So ist in in Overleaf.

Bild

Verfasst: Mi 30. Aug 2017, 22:36
von Bartman
Dein Beispiel muss mit einer möglichst aktuellen TeX-Distribution auf Deinem Rechner laufen. Overleaf ist nicht unbedingt auf dem neuesten Stand. Es ist zwar nützlich, wenn ein Beispiel dort ausgeführt werden kann, aber es sollte nicht als Maßstab dienen.

Verfasst: Do 31. Aug 2017, 08:34
von ocir
Leider funktioniert es trotzdem nicht.

Der Code wird kompilliert, aber es wird kein Verzeichnis ausgegeben.

Verfasst: Do 31. Aug 2017, 08:46
von Gast
Das Programm makeglossaries aufgerufen? → [d]glossaries[/d] oder [d]glossariesbegin[/d]