Personenregister über backref-Befehl generieren

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: Personenregister über backref-Befehl generieren

Re: Personenregister über backref-Befehl generieren

von OktoberGrabowski » So 16. Aug 2020, 21:01

Vielen herzlichen Dank für die Links, lieber MoeWe!
Mit Hilfe des letztgenannten Links konnte ich das gesuchte Personenregister erstellen - Problem gelöst!

Minimalbeispiel
\begin{filecontents}{bediaBibliographie.bib}
@ARTICLE{Beispiel2010,
author = {Max Muster},
title = {goLaTeX Wiki-Beispiel},
journal = {LaTeX Journal},
year = {2010},
pages = {1-3},
timestamp = {2010.03.21},
url = {http://www.golatex.de/wiki/index.php?ti ... albeispiel}
}
\end{filecontents}

\documentclass[
10pt,a4paper
]{scrbook}

%%%% INPUT %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

%%% SPRACHEN und Extra Packages %%%%%%%%%%%
\usepackage{lmodern}
\usepackage[ibycus,ngerman]{babel}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%% LITERATURVERWALTUNG %%%%%%%%%%%
\usepackage[style=footnote-dw,
backend=biber,
bibencoding=utf8,
pagetracker=page,
ibidtracker=constrict,
idemtracker=constrict,
citedas=true,
backref=true,
citepages=separate,
citeauthor=namefont,
indexing=cite%%%%%NEW
]
{biblatex}
\addbibresource{bediaBibliographie.bib}

%%%%REGISTER
\usepackage{imakeidx}
\makeindex[intoc,title={1. Sachregister}
]
\makeindex[intoc,name=names,title={2. Personenregister}
]
\DeclareIndexNameFormat{default}{%
\usebibmacro{index:name}{\index[names]}
{\namepartfamily}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}}
\renewbibmacro*{citeindex}{%
\ifciteindex
{\indexnames{labelname}}
{}}

\makeatletter
\newcommand\ila@it@abshanghyphen{%
\ila@it@abshang% layout hang verwenden, aber
\renewcommand{\subitem}{\@idxitem\hspace*{\ila@subindent}--\enskip}% \subitem ändern
% Hier ggf. auch noch \subitem ändern.
}
\makeatother

\usepackage[justific=raggedright,
itemlayout=abshanghyphen,
%itemlayout=singlepar,
indentunit=1em,
hangindent=0.4cm,
subindent=0.26cm,
subsubindent=1em,
%totoc=on
]{idxlayout}
\renewcommand*{\indexfont}{\fontsize{8.5pt}{10.5pt}\selectfont }

\makeatletter
\renewcommand{\subitem}{\@idxitem{--}\hspace{\ila@subindent}}%
\renewcommand{\subsubitem}{\@idxitem{--}\hspace{\ila@subsubindent}}%
\makeatother
\renewcommand*\see[2]{\emph{\seename} #1}

\begin{document}
\tableofcontents
\chapter{Hier gehts los}
Max Muster\index{Krasser Verlauf}
hat das beste Beispiel.\cite{Beispiel2010}

\chapter{Hier gehts weiter}
Max Muster%\sindex{Muster}
hat das beste Beispiel.\cite{Beispiel2010}

\printbibliography

\addchap{\centering Register}
\printindex % the general index
\printindex[names] % the name index


\end{document}
[/MWE]

Re: Personenregister über backref-Befehl generieren

von MoeWe » Mi 12. Aug 2020, 09:22

biblatex kann von sich aus \index-Aufrufe ausführen. Die relevante Paket-Option heißt indexing. Was genau wie zum Index hinzugefügt wird, wird normalerweise von den bibmacros citeindex und bibindex kontrolliert. Natürlich werden dadurch nur Vorkommen von Namen, Titeln etc. zum Index hinzugefügt, die von biblatex selbst in Zitaten oder Bibliographie-Einträgen erzeugt werden. Dein manuelles

Max Muster\sindex[P]{Muster}

kann also nur gut automatisiert werden, wenn Du stattdessen zu einem biblatex-Befehl übergehst

\citeauthor{Beispiel2010} 

Leider habe ich gerade nicht die Zeit, Dein (gutes) Minimalbeispiel anzupassen und zu testen, aber es gibt von biblatex mehrere Beispieldateien mit Index http://mirrors.ctan.org/macros/latex/co ... single.tex, http://mirrors.ctan.org/macros/latex/co ... ltiple.tex, http://mirrors.ctan.org/macros/latex/co ... bentry.tex. Bei TeX.SX gibts noch https://tex.stackexchange.com/q/507429/35864

Wenn Du mit den Hinweisen in den Dateien nichts anfangen kannst, kannst Du Dich ja nochmal melden. Ansonsten freut man sich hier im Forum auch, wenn Du Deine Frage selbst beantwortest.

Personenregister über backref-Befehl generieren

von OktoberGrabowski » Di 11. Aug 2020, 21:27

Schönen guten Abend!

Ich muss für ein Buch ein Personenregister erstellen.
In meinem Text sind die Personen allerdings deckungsgleich mit den Autoren, die ich zitiere und die alle in meinem Literaturverzeichnis vorkommen. Jetzt habe ich mich an den backref-Schalter erinnert, durch den man im Literaturverzeichnis hinter jeden Eintrag die entsprechenden Seitenzahlen setzen kann. Bevor ich mir nun die Arbeit mache und hinter jedes Zitat noch einen Index-Eintrag setze, dachte ich frage mal nach, ob jemand von Euch eine Idee hat, wie man den backref-Schalter für das Personenregister nutzbar machen kann.

Hier mein Minimal-Beispiel, in dem der Index-Eintrag noch mit \sindex erzeugt wird:

 
\begin{filecontents*}{bediaBibliographie.bib}
	@ARTICLE{Beispiel2010,
		author = {Max Muster},
		title = {goLaTeX Wiki-Beispiel},
		journal = {LaTeX Journal},
		year = {2010},
		pages = {1-3},
		timestamp = {2010.03.21},
		url = {http://www.golatex.de/wiki/index.php?title=Minimalbeispiel}
	} 
\end{filecontents*}

\documentclass[
10pt,a4paper
]{scrbook}

%%%% INPUT %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

%%% SPRACHEN und Extra Packages %%%%%%%%%%%
\usepackage{lmodern}
\usepackage[ibycus,ngerman]{babel} 

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%% LITERATURVERWALTUNG %%%%%%%%%%%
\usepackage[style=footnote-dw,
backend=biber,
bibencoding=utf8,
pagetracker=page,
ibidtracker=constrict,
idemtracker=constrict,
citedas=true,
backref=true,
citepages=separate,
citeauthor=namefont
]
{biblatex}
\addbibresource{bediaBibliographie.bib}

%%%%REGISTER
\usepackage{makeidx}
\usepackage{manyind}
\makeindex

\begin{document} 

\section{Hier gehts los}

\section{Hier gehts weiter}
Max Muster\sindex[P]{Muster} hat das beste Beispiel.\cite{Beispiel2010}
	
\printbibliography

\renewcommand{\indexname}{1. Personenregister}
\setindex{P}
\printindex
\addcontentsline{toc}{section}{1. Personenregister}
	
\end{document}	

Nach oben