Dreispaltiges Symbolverzeichnis

Erstellen von Index, Glossar, Symbolverzeichnis, einer Nomenklatur etc. mit MakeIndex oder Xindy


Benutzeravatar
Johannes_B
Moderator
Moderator
Beiträge: 5079
Registriert: Do 1. Nov 2012, 14:55
Kontaktdaten:

Beitrag von Johannes_B »

Schau bitte in die Anleitung zum Paket. Die Helfer können dir doch nicht alles fertig vorgekaut auf nem Silbertablett präsentieren.
TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?

Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.

Mechaniko1

ok

Beitrag von Mechaniko1 »

Ich habe das probiert zu googlen, habe aber nur \acrolong gefunden, daher wollte ich wissen, ob es überhaupt eine Möglichkeit gibt, das zu machen.

Aber ich habe gerade ein ganz anderes Problem und zwar funktioniert zwar das Minimalbeispiel, aber wenn ich das in mein Dokument übernehmen, hat er scheinbar ein Problem mit dem babel package.
\documentclass[10pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{amsmath,amssymb,amstext}
\usepackage{amsfonts}
\usepackage{graphicx}
\usepackage{siunitx}
\bibliographystyle{apalike}

\author{Author}
\title{Doku}
\date{\today}


\usepackage[acronym,toc,nonumberlist]{glossaries} 
\newglossary[slg]{symbolslist}{syi}{syg}{Symbolverzeichnis} % eigenes 
%\renewcommand*{\glspostdescription}{}   % kein Punkt am Ende 
\makeglossaries 


% -- Glossary-Style -- %% 
\newglossarystyle{symbol}{% 
  \setglossarystyle{long3colheader}% 
  \renewenvironment{theglossary} 
    {\begin{longtable}[l]{@{}lp{2cm}p{\glsdescwidth}@{}}} 
    {\end{longtable}}% 
  \renewcommand*\glossaryheader{% 
    \textbf{Zeichen} & \textbf{Einheit} & \textbf{Beschreibung}\\}% 
  \renewcommand*\glsgroupheading[1]{% 
    \multicolumn{3}{@{}l}{% 
      \textbf{% 
        \ifstr{##1}{G}{griechische Symbole}{% 
          \ifstr{##1}{L}{lateinische Symbole}{% 
            andere Symbole (##1)}% 
        }% 
      }% 
    }% 
    \tabularnewline 
  }% 
%\renewcommand*{\glossaryentryfield}[5]{%<-- veraltet 
%\glsentryitem{##1}\glstarget{##1}{##2} & ##4 & ##3  \\}% 
  \renewcommand*\glossentry[2]{% 
    \glstarget{##1}{\glossentryname{##1}} & \glossentrysymbol{##1} & \glossentrydesc{##1}\tabularnewline 
  }% 
} 

%Beispiel
\newglossaryentry{symb:Rtha}{ 
  name=$R_{\text{th}}$, 
  description={Thermischer Widerstand}, 
  symbol=\si{\kelvin\per\watt}, 
  sort=lat:rth, 
  type=symbolslist 
} 
\newglossaryentry{symb:rho}{ 
  name=$\rho$, 
  description={Dichte}, 
  symbol=\si{\kilogram\per\meter\cubed}, 
  sort=gr:rho, 
  type=symbolslist 
} 


\begin{document}

\maketitle

\newpage
\tableofcontents

\newpage
\section{Formel- und Abkürzungsverzeichnis}
\printglossary[type=symbolslist,style=symbol] 

\newpage
\section{Einleitung}
\gls{symb:Rtha}
\gls{symb:rho}

\subsection{Anforderungsliste}
\label{subsec:Anforderungsliste}

\end{document}
Fehlermeldung:
! Undefined control sequence.
<recently read> \ifstr
l.3 \glsgroupheading{G}
\relax \glsresetentrylist %
The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.
! Undefined control sequence.
<argument> ... {G}{G}{griechische Symbole}{\ifstr
{G}{L}{lateinische Symbole...
l.3 \glsgroupheading{G}

Kann mir einer sagen, womit das zusammenhängt?

rais
Forum-Guru
Forum-Guru
Beiträge: 411
Registriert: Di 21. Sep 2010, 00:37

Re: ok

Beitrag von rais »

Mechaniko1 hat geschrieben: Aber ich habe gerade ein ganz anderes Problem und zwar funktioniert zwar das Minimalbeispiel, aber wenn ich das in mein Dokument übernehmen, hat er scheinbar ein Problem mit dem babel package.
was soll das mit babel zu tun haben?
Mechaniko1 hat geschrieben: Fehlermeldung:
! Undefined control sequence.
<recently read> \ifstr
l.3 \glsgroupheading{G}
\relax \glsresetentrylist %
The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.
! Undefined control sequence.
<argument> ... {G}{G}{griechische Symbole}{\ifstr
{G}{L}{lateinische Symbole...
l.3 \glsgroupheading{G}

Kann mir einer sagen, womit das zusammenhängt?
\ifstr wird in den Standardklassen nicht definiert, und ich bin mir ziemlich sicher, diesbezüglich bereits auf den scrguide hingewiesen zu haben. Wenn Du bei einer Standardklasse bleiben willst, ergänze
\usepackage{scrextend}
MfG
Rainer
One of the joys of travel is visiting new towns and meeting new people---G.Khan (Robert Asprin, Another Fine Myth)

rais
Forum-Guru
Forum-Guru
Beiträge: 411
Registriert: Di 21. Sep 2010, 00:37

Re: ok

Beitrag von rais »

Mechaniko1 hat geschrieben:Ich habe das probiert zu googlen, habe aber nur \acrolong gefunden, daher wollte ich wissen, ob es überhaupt eine Möglichkeit gibt, das zu machen.
Johannes hat Dich darauf hingewiesen, in die Paketanleitung zu schauen.
Diese findest Du auf Deinem Rechner (so Deine TeX-Distri ordnungsgemäß installiert ist) unter `texdoc glossaries-user' (\glsdesc und co.)

MfG
Rainer
One of the joys of travel is visiting new towns and meeting new people---G.Khan (Robert Asprin, Another Fine Myth)

Mechaniko1

ok

Beitrag von Mechaniko1 »

Sorry, ich muss mich wirklich mehr in Latex einlesen, dachte das würde ich zu meinem nächsten Projekt (nächstes Semester) machen.

Ich habe das Paket hinzugefügt, was du mir gezeigt hast und das Problem wurde damit gelöst.

Aber ich bekomme immer noch diesen Fehler:

! Missing $ inserted.
<inserted text>
$
l.5 ...etentrycounter[]{page}\glsnumberformat{4}}}
%
I've inserted a begin-math/end-math symbol since I think
you left one out. Proceed, with fingers crossed.
! Extra }, or forgotten $.
<recently read> \egroup
l.5 ...etentrycounter[]{page}\glsnumberformat{4}}}
%

Wenn du mir noch bei diesem Problem helfen würdest, wäre ich dir sehr dankbar.

Mechaniko1

ok

Beitrag von Mechaniko1 »

Meine Glossry Einträge sehen so aus:

\newglossaryentry{symb:t}{
name=\ensuremath{t},
description={Zeit},
symbol=\si{\second},
sort=lat:t,
type=symbolslist
}

Ich benutze bei Name \ensuremath{}, damit ich die \gls{} in die Formel eintragen kann.

Mechaniko1

ok

Beitrag von Mechaniko1 »

Problem gelöst.

Ich hatte in dem Eintrag:

\newglossaryentry{symb:alphaw}{
name=\ensuremath{\alpha_{Neigung}},
description={Neigungswinkel},
symbol={^\circ},
sort=lat:alphaw,
type=symbolslist
}

das \si beim symbol wegglassen, wusste ich nicht, dass ich das nicht darf.

rais
Forum-Guru
Forum-Guru
Beiträge: 411
Registriert: Di 21. Sep 2010, 00:37

Re: ok

Beitrag von rais »

Mechaniko1 hat geschrieben:Problem gelöst.
ist doch gut;-)
Mechaniko1 hat geschrieben: Ich hatte in dem Eintrag:

\newglossaryentry{symb:alphaw}{
name=\ensuremath{\alpha_{Neigung}},
description={Neigungswinkel},
symbol={^\circ},
sort=lat:alphaw,
type=symbolslist
}

das \si beim symbol wegglassen, wusste ich nicht, dass ich das nicht darf.
da hätte unsereiner ja lange suchen können, vgl. das mit Deinem angegebenen Code.
\si darfst Du weglassen, wenn Du keine SI-Einheit angeben willst.
Zumindest das ^-Zeichen erfordert Mathemodus, in den dann auch gewechselt wird, aber nichts darin schaltet in den Textmodus zurück, deshalb die Meldung.
BTW: \si{\degree} sollte hier auch tun.

MfG
Rainer
One of the joys of travel is visiting new towns and meeting new people---G.Khan (Robert Asprin, Another Fine Myth)

Antworten