Eigene Zitation

Erstellung eines Literaturverzeichnisses mit BibTeX, Biber, BibLaTeX und Co.
Gast

Eigene Zitation

Beitrag von Gast »

Hallo liebes Forum,

die \cite Befehle dezimieren die Zitation immer auf Autor plus Jahreszahl. Nun möchte ich aber auch die anderen Argumente der Literatur aus meiner .bbl Datei in der Zitation angeben. Daher hatte ich überlegt einen eigene \cite Befehl zu erstellen mit Hilfe von \newcommand.

Nun ist die Frage wie ich den Autor, Jahr usw. aufrufen kann.

in der Bib Datei hab ich ja Argumente wie Author, publisher, year usw. Wie kann ich die nun aufrufen im Eingen definierten Zitierbefehl?

Danke schon mal im Voraus

P.S. ja ich weiß, mit Minimalbeispiel wäre es einfacher, bin nur ein absoluter Latex Neuling und hoffe, dass trotzdem jemand versteht was ich meine und helfen kann.

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

Beitrag von Bartman »

Mögliche Helfer wüssten vermutlich gern, mit welcher Unterstützung Du Dein Literaturverzeichnis erstellst, was Du bisher zur Erfüllung Deines Wunsches erreicht hast und wie genau die Ausgabe des Literaturverweises aussehen soll.

Eine Anleitung zur Anfertigung eines Minimalbeispiels konnte schon so manchem Anfänger helfen.

Gast

Beitrag von Gast »

Mein Literaturverzeichnis wurde mit Hilfe von BibDesk angelegt und mit \bibliography{Literatur} eingebunden. In der Literatur.bib Datei wurde eine Literatur wie folgt angelegt:

@book{Kurztitel,
Author = {...},
Address = {...},
Date-Added = {2019-06-12 17:00:42 +0200},
Date-Modified = {2019-07-15 17:18:29 +0200},
Edition = {...},
Title = {...},
Year = {...}

Nun möchte ich auf diese Argumente zugreifen
also zum Beispiel ein Befehl erzeugen: "\newcommand{\eigeneZitation}[1]{\footnote{Author{#1}:Title{#1},usw.}}

wobei natürlich das Author, Title usw nicht so funktioniert, dass ist genau der Knackpunkt, wo ich Hilfe brauche.

Gast

Beitrag von Gast »

Wenn Du das klassische BibTeX verwendest (also neben \bibliography auch ein \bibliographystyle in Deinem Dokument hast), dann hast Du im Dokument oder in Zitaten im Grunde keinen Zugriff auf die einzelnen Felder Deiner .bib-Datei. Je nach Stil und zusätzlich verwendetem Paket (natbib, apacite, ...) sind eventuell bestimmte, für Zitate essenzielle Informationen, wie Autor und Jahr auf die ein oder andere Weise zugänglich, aber auf beliebige Felder wie den Titel oder den Verlag kannst Du nicht zugreifen. (Eine Ausnahme bildet hier zu einem gewissen Grad jurabib, aber zu der Verwendung dieses Pakets würde ich nicht unbedingt raten.) Grundsätzlich gibt es die Möglichkeit, über das Paket usebib unabhängig von BibTeX auf die Feldinhalte der .bib-Datei zuzugreifen. Dabei werden aber z.B. Namen nicht geparst und auch prinzipiell fühlt sich diese Lösung 'falsch' an, da es schönere Alternativen gibt.

Am besten geht der Zugriff auf beliebige Daten der .bib-Einträge in frei definierbaren \...cite-Befehlen heutzutage mit biblatex. Dadurch, dass biblatex völlig anders funktioniert als BibTeX, sind zu jeder Zeit alle Informationen über einen Eintrag verfügbar und in eigenen Befehlen nutzbar. Du kannst dann praktisch völlig beliebige \...cite-Befehle basteln.

Für konkreten Code bräuchte ich aber eine genauere Problemstellung.

Gast

Beitrag von Gast »

So, ich bin jetzt von Natbib auf Biblatex umgestiegen.

Code: Alles auswählen

\usepackage[style=authortitle, backend=bibtex]{biblatex}
Nun möchte ich das Literaturverzeichnis anpassen.

Bisher wird Literatur wie folgt angegeben: Nachname, Vorname. Titel. Bd. Auflage. Ort: Verlag, Jahr, Seiten

Ich würde es gerne aber wie folgt haben: Nachname, Vorname: Titel. Ort ^Auflage Jahr.

(ja die Auflage soll hochgestellt sein)
Wie bewerkstellige ich das? Hab gelesen dass man einen bestehenden Style überschreiben kann bzw. bestimmte Sachen ändern kann.[/code]


Gast

Beitrag von Gast »

Probiers mal mit

Code: Alles auswählen

\documentclass[ngerman]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[style=ext-authortitle, backend=biber]{biblatex}

\renewcommand*{\mkbibnamefamily}{\mkbibemph}

\DeclareNameAlias{sortname}{family-given}


\DeclareDelimFormat[bib]{nametitledelim}{\addcolon\space}

\DeclareFieldFormat{title}{#1}
\DeclareFieldAlias{citetitle}{title}

\renewbibmacro{edition}{}

\renewcommand*{\locdatedelim}{\addspace}
\DeclareFieldFormat{superedition}{\textsuperscript{#1}}

\renewbibmacro*{pubinstorg+location+date}[1]{%
  \printlist{location}%
  \setunit*{\locdatedelim}%
  \printfield[superedition]{edition}%
  \usebibmacro{date}%
  \newunit}

\addbibresource{biblatex-examples.bib}

\begin{document}
\cite{sigfridsson,worman,nussbaum,geer,companion}
\printbibliography
\end{document}
Aus Gründen der Bequemlichkeit habe ich hier den Stil ext-authortitle von biblatex-ext statt dem Standard-authortitle verwendet. Das Paket ist noch recht neu und funktioniert nur mit einem aktuellen TeX-System, so ist es zum Beispiel bei Overleaf noch nicht installiert. Bis jetzt nutzt der hier vorgeschlagene Code aber noch keine komplexen Features von biblatex-ext, ich haben den Stil nur verwendet, um mir an einigen Stellen mühselige Arbeit zu erleichtern. So wird bei biblatex-ext zur Ausgabe der edition immer ein Bibmacro statt \printfield direkt im Driver verwendet. Daher kann die Ausgabe einfach unterdrückt werden, indem das Makro umdefiniert wird, es ist nicht nötig, das Feld zu löschen und dann an der richtigen Stelle wiederherzustellen. Ferner definiert biblatex-ext das Universalmakro pubinstorg+location+date, mit dem mehrere ähnliche Makros gleichzeitig angepasst werden können.

Wie von einem anderen Gast gestern Abend angedeutet, würde ich Biber statt BibTeX empfehlen. Also

Code: Alles auswählen

backend=biber
statt backend=bibtex und eine Änderung des Kompilierablaufs von BibTeX zu Biber https://www.texwelt.de/wissen/fragen/19 ... nem-editor oder https://tex.stackexchange.com/q/154751/35864

Antworten