Fehler Glossary mit eigenem Listenstiel

Inhalt, Abbildungen, Tabellen, Quellcodes und andere Verzeichnisse


Rino

Fehler Glossary mit eigenem Listenstiel

Beitrag von Rino »

Hallo zusammen

ich habe hier mein Minimalbeispiel.
Und zwar geht es darum, dass für die Glossaries einen eigenen Stiel erstellt habe. Dieser hat aber einen Fehler, und ich finde beim besten Wille nicht heraus wo.

Code: Alles auswählen

%
\documentclass[12pt,a4paper]{scrreprt}

\usepackage{hyperref}

\usepackage[toc, %%toc: Anzeige im Inhaltsverzeichnis, nopostdot verhindert den Punkt am Ende der Bezeichnung
			nopostdot, %%nopostdot verhindert einen Punkt am Ende der Bezeichnung
			%nonumberlist, %%nonumberlist verhindert eine Seitenzahlanzeige im Glossarverzeichnis
			acronym] %%Akronym
			{glossaries}

%\newglossary[glg]{<domain/type}{gls}{glo}{titel}	%%erstellen eines neuen Glossar-Verzeichnis
\newglossary[ch1]{chstyle}{ch2}{ch3}{Griechische Symbole} %Beispiel das Verzeichnis für Griechische Symbole
%glg: ch1	Label
%domain		Verzeichnisname (frei wählbar)
%titel		Name der Liste

\makeglossaries
\glsdisablehyper %deaktiveren der Hyperlinks von den Glosareinträgen im Text

%% Glossar-Verzeichnis eigener Stiel
\newglossarystyle{cstyle}{%
	\glossarystyle{list}%
	\renewcommand*{\glossaryentry[5]{%
		\item[\glsentryitem{##1}\glstarget{##1}{##2}]%
		\hspace{2cm}##3\glspostdescription\dotfill ##5}%
}


\setglossarystyle{cstyle} %%Eigener Stiel, siehe oben


% Title Page
\title{Test-File}
\author{R. Surber}


%Glossar-Einträge
\newglossaryentry{gls:dis}{name={$x$},description={Distanz}}
\newglossaryentry{gls:diff}{name={$\mathcal{D}$},description={Diffusion}}

\newglossaryentry{gls:Zeit}{name={$\tau$},description={spezifische Diffusionszeit}, type=chstyle}
%type = (zuweisen einer alternativen Glossar-Liste)

\newacronym{acr:mol}{MW}{Molekularlgewicht}
\newacronym{acr:SDS}{SDS}{Sodium blabla Sulfat}

\begin{document}
\maketitle\
\tableofcontents

$$x^2 \sim \mathcal{D}\tau$$

%$x$ ist die Distanz, $\mathcal{D}$ ist die Diffundierung and $\tau$ ist die spezifische Diffusionszeit.\\ %%Ersetzen der Einträge mit den Labels aus den Glossar-Einträgen
\gls{gls:dis} ist die Distanz, \gls{gls:diff} ist die Diffundierung and \gls{gls:Zeit} ist die spezifische Diffusionszeit.\\

%Das Molekulargewicht (MW) von Sodium blabla Sulfat (SDS) ist....... \\
Das Molekulargewicht (\acrshort{acr:mol}) von Sodium blabla Sulfat (\acrshort{acr:SDS}) ist....... \\

\printacronyms[title=Abkürzungen, type=\acronymtype]
\printglossary[title=Symbolliste] %Ausgabe des Glossers, Titel
\printglossary[type=chstyle]
\end{document}          
% Ende des Dokuments 
[/code]

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2116
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Beitrag von Bartman »

Deine Variante der Erstellungen eines eigenen Stils ist veraltet und fehlerhaft.

Code: Alles auswählen

\documentclass[fontsize=12pt]{scrreprt}

\usepackage{selinput}% https://texwelt.de/wissen/fragen/5546
\SelectInputMappings{
	adieresis={ä},
	germandbls={ß}
}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[ngerman]{babel}
\usepackage{hyperref}
\usepackage[
	toc, %%toc: Anzeige im Inhaltsverzeichnis, nopostdot verhindert den Punkt am Ende der Bezeichnung
	nopostdot, %%nopostdot verhindert einen Punkt am Ende der Bezeichnung
%	nonumberlist, %%nonumberlist verhindert eine Seitenzahlanzeige im Glossarverzeichnis
	acronym %%Akronym
]{glossaries}

%\newglossary[glg]{<domain/type}{gls}{glo}{titel}   %%erstellen eines neuen Glossar-Verzeichnis
\newglossary[ch1]{chstyle}{ch2}{ch3}{Griechische Symbole} %Beispiel das Verzeichnis für Griechische Symbole
%glg: ch1   Label
%domain      Verzeichnisname (frei wählbar)
%titel      Name der Liste

\makeglossaries
\glsdisablehyper %deaktiveren der Hyperlinks von den Glosareinträgen im Text

%% Glossar-Verzeichnis eigener Stiel
\newglossarystyle{cstyle}{%
	\setglossarystyle{list}%
	\renewcommand*{\glossentry}[2]{% 
		\item[\glsentryitem{##1}\glstarget{##1}{\glossentryname{##1}}]%
		\hspace{2cm}\glossentrydesc{##1}\glspostdescription\dotfill ##2%
	}%
}

\setglossarystyle{cstyle} %%Eigener Stiel, siehe oben

% Title Page
\title{Test-File}
\author{R. Surber}

%Glossar-Einträge
\newglossaryentry{gls:dis}{name={$x$},description={Distanz}}
\newglossaryentry{gls:diff}{name={$\mathcal{D}$},description={Diffusion}}

\newglossaryentry{gls:Zeit}{name={$\tau$},description={spezifische Diffusionszeit}, type=chstyle}
%type = (zuweisen einer alternativen Glossar-Liste)

\newacronym{acr:mol}{MW}{Molekulargewicht}
\newacronym{acr:SDS}{SDS}{Sodium blabla Sulfat}

\begin{document}
\maketitle
\tableofcontents

\[x^2 \sim \mathcal{D}\tau\]% Bitte den Abschnitt 1.6 in l2tabu.pdf lesen.

%$x$ ist die Distanz, $\mathcal{D}$ ist die Diffundierung and $\tau$ ist die spezifische Diffusionszeit.\\ %%Ersetzen der Einträge mit den Labels aus den Glossar-Einträgen
\gls{gls:dis} ist die Distanz, \gls{gls:diff} ist die Diffundierung and \gls{gls:Zeit} ist die spezifische Diffusionszeit.

%Das Molekulargewicht (MW) von Sodium blabla Sulfat (SDS) ist....... \\
Das Molekulargewicht (\acrshort{acr:mol}) von Sodium blabla Sulfat (\acrshort{acr:SDS}) ist~\dots

\printacronyms[title=Abkürzungen, type=\acronymtype]
\printglossary[title=Symbolliste] %Ausgabe des Glossers, Titel
\printglossary[type=chstyle]
\end{document}

Rino

Fehler Glossary mit eigenem Listenstiel

Beitrag von Rino »

Ist es nur die Einstellung des "Stieles" oder alles was mit dem glossarie zu tun hat?
Wie wäre es dann "zeitgemässer"? Oder wo kann ich das nachschauen?

mit deinen Änderungen hat es gut funktioniert.

Gast

Re: Fehler Glossary mit eigenem Listenstiel

Beitrag von Gast »

Rino hat geschrieben:Wie wäre es dann "zeitgemässer"?
So wie von (dem anderen) Gast gezeigt.
Rino hat geschrieben:Oder wo kann ich das nachschauen?
In der [d]glossaries[/d]-Anleitung natürlich.

Beachte aber auch die anderen Änderungen von Gast, wie den entfernten Backslash nach \maketitle. Übrigens ist mit aktuellen LaTeX auch

Code: Alles auswählen

\usepackage{selinput}% https://texwelt.de/wissen/fragen/5546
\SelectInputMappings{
   adieresis={ä},
   germandbls={ß}
}
überflüssig. Wenn das bei Dir noch benötigt wird, damit die Umlaute stimmen, solltest Du ein Update machen.

Gast

Re: Fehler Glossary mit eigenem Listenstiel

Beitrag von Gast »

Anonymous hat geschrieben:So wie von (dem anderen) Gast gezeigt.
Ach, Quatsch: so wie von Bartman gezeigt.

Rino

Fehler Glossary mit eigenem Listenstiel

Beitrag von Rino »

Möchte mich bedanken für eure Antworten.
Hat sehr geholfen. Habe den Quelltext entsprechend korrigiert und läuft auch gut durch.

Rino

Fehler Glossary mit eigenem Listenstiel

Beitrag von Rino »

Jetzt ist mir leider gerade was aufgefallen, als ich mehrere Einträge ins Glossar aufgenommen habe.

Bei dem erstellten Code hat jetzt die Beschreibung anscheinend einen festen Abstand zum Kurzzeichen.
Eigentlich hätte ich gerne, dass die Bezeichnungen alle untereinander liegen. Wie kriege ich das hin?

hier habe ich den Code mit etwas mehr Einträgen:

Code: Alles auswählen

%
\documentclass[fontsize=11pt]{scrreprt}

\usepackage{hyperref}

\usepackage[toc, %%toc: Anzeige im Inhaltsverzeichnis, nopostdot verhindert den Punkt am Ende der Bezeichnung
			nopostdot, %%nopostdot verhindert einen Punkt am Ende der Bezeichnung
			%nonumberlist, %%nonumberlist verhindert eine Seitenzahlanzeige im Glossarverzeichnis
			acronym] %%Akronym
			{glossaries}

%\newglossary[glg]{<domain/type}{gls}{glo}{titel}	%%erstellen eines neuen Glossar-Verzeichnis
\newglossary[ch1]{chstyle}{ch2}{ch3}{Griechische Symbole} %Beispiel das Verzeichnis für Griechische Symbole
%glg: ch1	Label
%domain		Verzeichnisname (frei wählbar)
%titel		Name der Liste

\makeglossaries
\glsdisablehyper %deaktiveren der Hyperlinks von den Glosareinträgen im Text

%% Glossar-Verzeichnis-Stiele (wenn alle deaktiviert sind, ist die Liste Standart)

%%neuer Style mit Abstandseinstellung: \hspace{Abstand}##1
\newglossarystyle{cstyle}{% 
	\setglossarystyle{list}% 
	\renewcommand*{\glossentry}[2]{% 
		\item[\glsentryitem{##1}\glstarget{##1}{\glossentryname{##1}}]% 
		\hspace{2cm}\glossentrydesc{##1}\glspostdescription\dotfill ##2% 
	}% 
} 

%\setglossarystyle{long}
%\setglossarystyle{altlist}
%\setglossarystyle{altlistgroup}
%\setglossarystyle{altlisthypergroup}
\setglossarystyle{cstyle} %%Eigener Stiel, siehe oben


% Title Page
\title{Test-File}
\author{R. Surber}


%Glossar-Einträge
\newglossaryentry{gls:dis}{name={$x$},description={Distanz}}
\newglossaryentry{gls:diff}{name={$\mathcal{D}$},description={Diffusion}}
\newglossaryentry{gls:Rm}{name={$R_\mathrm{m}$},description={Zugfestigkeit}}
\newglossaryentry{gls:fRS}{name={$f_\mathrm{R,\sigma}$},description={Ermüdungsfestigkeitsfaktor für Normalspannung}}
\newglossaryentry{gls:fSRS}{name={$f_\mathrm{SR,\sigma}$},description={Oberflächenrauheisfaktor für Normalspannunsnachweis}}
\newglossaryentry{gls:fC}{name={$f_\mathrm{C}$},description={Ermüdungsfestigkeitsfaktor für Guss}}
\newglossaryentry{gls:fA}{name={$f_\mathrm{A}$},description={Anisotorpiefaktor}}
\newglossaryentry{gls:RmN}{name={$R_\mathrm{m,N}$},description={Zugfestigkeit nach Werkstoffnorm}}


\newglossaryentry{gls:Zeit}{name={$\tau$},description={spezifische Diffusionszeit}, type=chstyle}
%type = (zuweisen einer alternativen Glossar-Liste)

\newacronym{acr:mol}{MW}{Molekularlgewicht}
\newacronym{acr:SDS}{SDS}{Sodium blabla Sulfat}

\begin{document}
\maketitle\
\tableofcontents

$$x^2 \sim \mathcal{D}\tau$$

%$x$ ist die Distanz, $\mathcal{D}$ ist die Diffundierung and $\tau$ ist die spezifische Diffusionszeit.\\ %%Ersetzen der Einträge mit den Labels aus den Glossar-Einträgen
\gls{gls:dis} ist die Distanz, \gls{gls:diff} ist die Diffundierung and \gls{gls:Zeit} ist die spezifische Diffusionszeit.\\

%Das Molekulargewicht (MW) von Sodium blabla Sulfat (SDS) ist....... \\
Das Molekulargewicht (\acrshort{acr:mol}) von Sodium blabla Sulfat (\acrshort{acr:SDS}) ist....... \\

Zuerst muss das Dokument "Kompiliert" werden (F6).\\
Dann muss die Nomenklatur erstellt werden (Tools $\longrightarrow$ Benutzer $\longrightarrow$ Nomenklatur)\\
Und danach Erstellen \&{} Anzeigen (F5).

\glsaddall %%lässt alle Elemente ausgeben, auch diejenigen die nicht im Text referenziert wurden
\printacronyms[title=Abkürzungen, type=\acronymtype]
\printglossary[title=Symbolliste] %Ausgabe des Glossers, Titel
\printglossary[type=chstyle]
\end{document}
%Ende des Dokumentes 
[/code]

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2116
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Beitrag von Bartman »

Probiere diese Änderung:

Code: Alles auswählen

\renewcommand*\glspostdescription{\dotfill}

%neuer Style
\newglossarystyle{cstyle}{% 
	\renewenvironment{theglossary}
		{\labeling[\hspace{2cm}]{$R_\mathrm{m,N}$}}
		{\endlabeling}
	\renewcommand*{\glossentry}[2]{% 
		\item[\glsentryitem{##1}\glstarget{##1}{\glossentryname{##1}}]% 
		\glossentrydesc{##1}\glspostdescription~##2% 
	}% 
}
Wenn die Abkürzungen im Abkürzungsverzeichnis weiterhin im serifenlosen Fettdruck ausgegeben werden sollen, dann könntest Du einen zweiten Stil erstellen und mit dem Element labelinglabel aus der KOMA-Script-Anleitung arbeiten.

Rino

Fehler Glossary mit eigenem Listenstiel

Beitrag von Rino »

Danke für deine Antwort und die Mühen.
Habe jetzt festgestellt, dass der Code-Vorschlag die Länge von R_\mathrm(m,N) verwendet, was dazu führt, wenn sich "innerhalb" eine längere Abkürzung befindet, dort dann wieder eine Versetzung entsteht.

Hier habe ich einen Code gefunden der etwa das macht, was ich möchte ;-).
Für diejenigen die etwas Ähnliches suchen.

Code: Alles auswählen

%
\newglossarystyle{meinglossar}{%
 \renewenvironment{theglossary}%
 {\begin{labeling}{xxxxxxxxxx}}{\end{labeling}}%
 \renewcommand*{\glossaryentryfield}[5]{%
 	\item[\glstarget{##1}{##2}]% Eintragsname:
 	\ifthenelse{\equal{##4}{\relax}}{}{\space (##4)}% (Symbol)
 	\space ##3% Beschreibung
 	\glspostdescription\dotfill ##5% ...Seitenzahl
 	}%
}
% Ende des Dokuments 
[/code]

Antworten