Eintrag in Index und GLossar

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Eintrag in Index und GLossar

von MikMax » Mo 17. Jun 2019, 14:31

ich habe es gelößt bekommen vielen Dank :)

von MikMax » Fr 14. Jun 2019, 11:22

Was ich bis jetzt verstanden habe:
-Es gibt noch ein datagidx welches ich so weit ich glaube ich nicht benötige
meine anmerkungen sind mit %## gekennzeichnet
\documentclass{article}

\usepackage{datagidx} %das benötige ich wohl nicht
\usepackage[colorlinks]{hyperref}

\newgidx{glossary}{Glossary} %neue Datenbanken \newgidx{<label>}{<title>}
\newgidx{acronyms}{Acronyms}
\newgidx{index}{Index}

% Syntax: \newacronym[options]{short}{long}
% Defines an acronym that also has an entry in the index

%%\newcommand{\name}[num]{definition}
\newcommand{\newacronym}[3][]{%                   %##der name ist newacronym und es gibt 3 definitionen
  \newterm[database={index},    %##newterm=newglossarieentry in datenbank index
   sort={#3},                             %## sortiert nach definition3
   label={index.#2}]%               %## label ist index.definition2  ?von \gls[<options>]{[b]<label>[/b]}[<insert>]?
   {\MakeTextUppercase{#2}}%  %##schreibt alles aus definition2 groß
  \newacro[database={acronyms},label={acronym.#2},#1]    %##definiert ein neues acronym im datagidx package ?brauche ich nicht?
   {\MakeTextUppercase{#2}}{#3}% macht den text wieder groß
}
%##was oben passiert ist habe ich nicht so genau im zusammenhang verstanden label und sort zum beispiel taucht doch gar nicht in dem neuen Befehl auf nur options#1 short#2 und long#3 ?

% Syntax: \newentry[options]{label}{name}
% Defines a glossary entry that also appears in the index

\newcommand{\newentry}[3][]{%                 %##der name ist newacronym und es gibt 3 definitionen
  \newterm[database={glossary},                 %##newterm=newglossarieentry in datenbank glossary
   label={glossary.#2}, %                              %## das label
#1]                                                            %##  ???? müssten irgendwie die optionen sein
{#3}                                                            %##der name des newterm
  \newterm[database={index},label={index.#2},#1]{#3}      %##das gleiche in der Datenbank index
}

% Syntax: \newacronymentry[options]{short}{long}{description}
% Like \newacronym but also adds the entry to the glossary

\newcommand{\newacronymentry}[4][]{                 %##neues kommande mit dem namen
  \newterm[database={glossary},label={glossary.#2},%## eintrag in glossary mit dem label glossary.definition2
    sort={#2},#1,description={#4}]%                       %##sortiert nach def2 und die beschreibung wird def4
    {\MakeTextUppercase{#2}}%                               %##def2 wird ab jetzt groß geschrieben 
  \newterm[database={index},sort={#3},label={index.#2}]% %##das gleiche für Index
    {\MakeTextUppercase{#2}}%
  \newacro[database={acronyms},label={acronym.#2},#1]% %##und für acronym
    {\MakeTextUppercase{#2}}{#3}%
}

%## ab hier runter nur rudimentäres verständnis bis jetzt.
%## es wird nach den labels geguckt und dann werden sie in die jeweiligen glossaries geschrieben 

% Syntax: \xgls{label}
% If acronym.#1 exists use that and index
% Otherwise if glossary.#1 exists, use that and index the others.
% Otherwise if index.#1 use index.#1
% If none of the above, just do \gls{label}

\newcommand{\xgls}[1]{%
  \iftermexists{acronym.#1}%
  {%
    \acr{acronym.#1}%
    \iftermexists{glossary.#1}%
    {\glsadd{glossary.#1}}%
    {}%
    \iftermexists{index.#1}%
    {\glsadd{index.#1}}%
    {}%
  }%
  {%
    \iftermexists{glossary.#1}%
    {%
      \gls{glossary.#1}%
      \iftermexists{index.#1}%
      {\glsadd{index.#1}}%
      {}%
    }%
    {%
      \iftermexists{index.#1}%
      {\gls{index.#1}}%
      {%
        \gls{#1}%
      }%
    }%
  }%
}

% Define some acronyms

%##ab hier wieder einigermaßen verständlich  die oben neu definierten befehle werden benutzt

\newacronym{html}{hypertext markup language}
\newacronym{csv}{comma-separated variable}

% Define some glossary entries

\newentry[description={A typesetting language},sort={TeX}]{tex}{\TeX}
\newentry[description={A format of \TeX},sort={LaTeX}]{latex}{\LaTeX}

% Define some acronyms that also go in the glossary

\newacronymentry{pdf}{portable document format}{A file format}

% Define a term that isn't an acronym or a glossary entry

\newterm[database=index]{sample}

\begin{document}

First use: \xgls{html}.
First use: \xgls{csv}.
First use: \xgls{pdf}.
Reference \xgls{tex}.
Reference \xgls{latex}.
Reference the \xgls{sample} term.

\clearpage

Second use: \xgls{html}.
Second use: \xgls{csv}.
Second use: \xgls{pdf}.
Reference \xgls{tex}.
Reference \xgls{latex}.
Reference the \xgls{sample} term.

\printterms[database=acronyms,columns=1,location=hide]

\printterms[database=glossary,columns=1,location=hide]

\printterms[database=index,columns=1]

\end{document}

von MikMax » Fr 14. Jun 2019, 09:16

Danke, aber dann muss ich ja alle Einträge welche ich habe doppelt definieren.
Ich habe vielleicht etwas gefunden, aber ich habe es noch nicht so ganz verstanden.
https://tex.stackexchange.com/questions ... -at-the-sa
dort wird es so definiert, dass es in beiden auftauchen kann.
Ich versuche das mal auf meinen Fall anzuwenden.

Falls es für einen von euch klar ist was sie dort machen wäre ich um etwas Hilfe glücklich, da ich noch am ANfang von Latex stehe.

Ich Update es hier sobald ich es verstande habe.
Vielen Dank

von Bartman » Do 13. Jun 2019, 23:47

glossaries-extra lädt glossaries.

Gemäß der Dokumentation erwartet der Schlüssel type keine Liste von Werten, sondern nur einen Wert.

Vielleicht hilft Dir Glossary entries for multiple glossaries weiter.

Eintrag in Index und GLossar

von MikMax » Do 13. Jun 2019, 19:23

Hallo, ich habe mich nach langem dokumentation wälzen bis hierhin vorgearbeitet. Hier komme ich aber nicht weiter.
Ich hätte es gern, das ich einen gls eintrag automatisch im Glossar und im Index auftauchen lassen kann.
\begin{filecontents}{\jobname.bib}
%Arconyme
\newacronym{MIC}{MIC}{Microsoft oder so}
%Glossar
\newglossaryentry{test}{%
	name={name},
  	text={text},
  	description={description}
}
%index
\newglossaryentry{index}{
	name=index,
	description={Beschreibung},
	type=index
}
%Symbolverz
\newglossaryentry{symb:Phi}{
name=$\varphi$,
description={Ein Winkel},
sort=symbolphi, type=symbolslist
}
%in mehreren  <---------------------
\newglossaryentry{alle}{%
	name={alle},
  	text={text},
  	description={description},
  	type={index, symbolslist} %er nimmt nur den letzten oder mit klammern alles
}
\end{filecontents}  

\documentclass[12pt]{scrbook}
\usepackage[ngerman]{babel} 
\usepackage[T1]{fontenc} 
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage{csquotes}

\usepackage[
nonumberlist=true, 
acronym,      
toc,         
%index,		  
section]      
{glossaries}
%
\usepackage[%
stylemods=bookindex,
style=tree,
nostyles,		
]
{glossaries-extra}

\newglossary[slg]{symbolslist}{syi}{syg}{Symbolverzeichnis}
\newglossary[ilg]{index}{ind}{idx}{Index}

\makeglossaries
\loadglsentries{\jobname.bib}

\begin{document}
Test text mit Abkürzung \gls{MIC} und Glossar \gls{test} und Symbol \gls{symb:Phi}\\
und dazu noch einen Index \gls{index} und der Versuch für \gls{alle}

\printglossary[title=Glossar]
\printglossary[title=Abkürzungsverzeichnis, type=\acronymtype]
\printglossary[type=symbolslist]
\printglossary[type=index, nonumberlist=false, style=bookindex]

\end{document}
Hier bekomme ich den Fehler
! Package xkeyval Error: `symbolslist' undefined in families `glossentry'.
Ich bin unsicher ob es an meinem aufruf liegt oder an etwas anderem.

Mein Wunsch ist es bei einem Eintrag etwas in Glossar (main?) und im Index auftauchen zu lassen.

Vielen Dank im vorraus

Nach oben