goLaTeX - Mein LaTeX-Forum

Mein LaTeX-Forum


Login  | Registrieren
Forum
      Option
[Erweitert]
  • Diese Seite weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Umdefinierung der Zitierbefehle - cite; textcite & footc

 

Alex84
Forum-Newbie
Forum-Newbie

Beiträge: 3
Anmeldedatum: 17.08.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.08.2017, 14:03     Titel: Umdefinierung der Zitierbefehle - cite; textcite & footc
  Antworten mit Zitat      
Hallo zusammen,

nach dem ich bisher jede meiner Arbeiten mit Word geschrieben und mich mit der Formatierung rumgeärgert habe, plane ich meine Diss. mit LaTeX zu schreiben.

Die Vorlage steht soweit und mit ausgiebiger Recherche konnte ich Stück für Stück für aufgetretenen Fragestellungen Lösungen finden.

Allerdings gefällt mir die Darstellung des Zitierstils (Paket zur Literaturverwaltung: biblatex) noch nicht so richtig und komme hier nicht weiter. Leider konnte ich auch mit der Paketdoku keine Lösung finden oder hab sie einfach übersehe. Daher versuche ich‘s über diesen Weg und hoffe dass mir jmd. weiterhelfen kann.

Ich tendiere derzeit zur Zitiervariante per Fußnote, betrachte aber erstmal beide Möglichkeiten (Fußnote per footcite oder direkt im Text per cite). Für den Fall das an irgendeiner Stelle das Zitieren direkt im Text die bessere Lösung darstellen sollte, versuche ich diese Variante auch schonmal zu lösen.

Mein Ziel ist, dass die Literatur-id-Tag‘s (aber nur die id-Tag‘s) immer in eckigen Klammern stehen. Bei Nutzung von pre- und postnotes werden diese allerdings auch in die eckigen-Klammern mit eingebunden, das würde ich gerne vermeiden.
Sofern direkt im Text und nicht via Fußnote zitiert wird, sollte das Gesamtkonstrukt (nur wenn auch pre- und postnotes vorhanden sind) zusätzlich in runde Klammern eingefasst werden.

Ich könnte bei den normalen Zitiervarianten \cite die pre- und postnotes natürlich manuell setzen und nicht als „option“, allerdings würde ich das gerne vermeiden. Ich finde das persönlich einfach noch übersichtlicher und will möglichst viel automatisieren und mich beim Schreiben auf das wesentliche konzentrieren und nicht noch darauf achten müssen, dass die Darstellung auch bei jeder Quelle identisch ist. Des Weiteren stellt diese manuelle Variante keine Lösung für den \textcite-Befehl dar.

Aktuell würde ich die Fußnote mit der Variante \footnote[\cite} erstellen da er bei \footcite gar keine eckigen Klammern setzt.

Zusammenfassung
Ist es möglich die Befehle cite; textcite und footcite per renewcommand etc. in der Präambel so um zu definieren, dass das gewünschte Resultat herauskommt? Ich gehe einfach mal davon aus, wenn man einen Befehl umdefinieren kann kann, geht’s auch mit den anderen befehlen auf die gleiche Weise?
Wie es eigentlich aussehen sollte:
\cite:
- Ohne pre-/postnotes: [Quelle]
- Mit pre-/postnotes: (vgl. [Quelle], S. 25)

\textcite:
- Autor (vgl. [Quelle], S. 25)

\footcite:
- vgl. [Quelle], S. 25


Hier ist ein Beispiel mit Ist/Soll-Vergleich der Darstellung. Damit wird hoffentlich deutlicher, was ich zu erreichen versuche.



Code • Öffne in Overleaf

\documentclass[a4paper,12pt]{scrbook}

\begin{filecontents*}{literature.bib}
   @book{Reif.2017,
      editor={Reif, Konrad
},
      title={Grundlagen Fahrzeug- und Motorentechnik},
      publisher={Springer Fachmedien Wiesbaden},
      address={Wiesbaden},
      year={2017},
      series={Bosch Fachinformation Automobil},
      isbn={978-3-658-12635-3}
   }
\end{filecontents*}

\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[style=alphabetic,firstinits=true,idemtracker=false,backend=bibtex]{biblatex}
\usepackage{filecontents}

\addbibresource{literature.bib}

\begin{document}

Beispiele der Zitierweise
\\\\
Variante \textbackslash cite ohne pre- \textbackslash postnote:
\\
IST\textbackslash SOLL: \cite{Reif.2017}
\\\\
Variante \textbackslash cite mit pre- \textbackslash postnote:
\\
IST: \cite[vgl.][1]{Reif.2017}
\\
SOLL: (vgl. \cite{Reif.2017}, S.  1)
\\\\
bzw. als Fußnote, IST: \footnote{\cite[vgl.][4]{Reif.2017}}
\\
SOLL Fußnote: \footnote{vgl. [Reif17], S. 4}
\\\\\\

Variante \textbackslash textcite
\\
IST: \textcite[vgl.][2\psq]{Reif.2017} meint, dass...
\\
SOLL: Reif (vgl. \cite{Reif.2017}, S.  2 f.) meint, dass...

\newpage

Variante \textbackslash footcite:
\\
IST: \footcite[vgl.][3]{Reif.2017}
\\
SOLL: \footnote{vgl. [Reif17], S. 3}
   
\end{document}

 
Private Nachricht senden Benutzer-Profile anzeigen

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.08.2017, 16:59     Titel:
  Antworten mit Zitat      
Mir sind das ja teilweise etwas zu viele Klammern.

Code • Öffne in Overleaf
\documentclass[a4paper,12pt]{scrbook}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[style=alphabetic,firstinits=true,idemtracker=false,backend=bibtex]{biblatex}


\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
   @book{Reif.2017,
      editor={Reif, Konrad
},
      title={Grundlagen Fahrzeug- und Motorentechnik},
      publisher={Springer Fachmedien Wiesbaden},
      address={Wiesbaden},
      year={2017},
      series={Bosch Fachinformation Automobil},
      isbn={978-3-658-12635-3}
   }
\end{filecontents*}
\addbibresource{\jobname.bib}

\providebool{bbx:subentry}

\DeclareCiteCommand{\cite}
  {\ifboolexpr{test {\iffieldundef{prenote}} and test {\iffieldundef{postnote}}}
     {}
     {\bibopenparen
}%
   \usebibmacro{prenote}}
  {\usebibmacro{citeindex}%
   \usebibmacro{cite}}
  {\multicitedelim}
  {\usebibmacro{postnote}%
    \ifboolexpr{test {\iffieldundef{prenote}} and test {\iffieldundef{postnote}}}
     {}
     {\bibcloseparen
}}

\renewbibmacro*{cite}{%
  \printtext[brackets]{%
    \printtext[bibhyperref]{%
      \printfield{labelprefix}%
      \printfield{labelalpha}%
      \printfield{extraalpha}%
      \ifbool{bbx:subentry}
        {\printfield{entrysetcount}}
        {}}}}

\makeatletter
\renewbibmacro*{textcite}{%
  \iffieldequals{namehash}{\cbx@lasthash}
    {\setunit{\multicitedelim}}
    {\ifnameundef{labelname}
       {\printfield[citetitle]{labeltitle}}
       {\printnames{labelname}}%
     \setunit{%
       \global\booltrue{cbx:parens}%
       \printdelim{namelabeldelim}\bibopenparen}%
     \stepcounter{textcitecount}%
     \savefield{namehash}{\cbx@lasthash}}%
  \ifnumequal{\value{citecount}}{1}
    {\usebibmacro{prenote}}
    {}%
  \printtext[brackets]{\usebibmacro{cite}}%
  \setunit{%
    \ifbool{cbx:parens}
      {\bibcloseparen\global\boolfalse{cbx:parens}}
      {}%
    \textcitedelim}}
\makeatother

\begin{document}

Beispiele der Zitierweise
\\\\
Variante \textbackslash cite ohne pre- \textbackslash postnote:
\\
IST\textbackslash SOLL: \cite{Reif.2017}
\\\\
Variante \textbackslash cite mit pre- \textbackslash postnote:
\\
IST: \cite[vgl.][1]{Reif.2017}
\\
SOLL: (vgl. \cite{Reif.2017}, S.  1)
\\\\
bzw. als Fußnote, IST: \footnote{\cite[vgl.][4]{Reif.2017}}
\\
SOLL Fußnote: \footnote{vgl. [Reif17], S. 4}
\\\\\\

Variante \textbackslash textcite
\\
IST: \textcite[vgl.][2\psq]{Reif.2017} meint, dass...
\\
SOLL: Reif (vgl. \cite{Reif.2017}, S.  2 f.) meint, dass...

\newpage

Variante \textbackslash footcite:
\\
IST: \footcite[vgl.][3]{Reif.2017}
\\
SOLL: \footnote{vgl. [Reif17], S. 3}
   
\end{document}

Alex84
Forum-Newbie
Forum-Newbie

Beiträge: 3
Anmeldedatum: 17.08.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.08.2017, 09:52     Titel:
  Antworten mit Zitat      
Vielen Dank, das hilft mir denke ich weiter.

Ich tendiere auch stark zur Fußnotenvariante und werde die cite Funktion nur im worst case verwenden um mir die runden Klammern zu sparen. Bei wörtlichen Zitaten, die sich stark in Grenzen halten werden, reicht die textcite Funktion aus.

Jetzt werde ich erstmal versuchen die Funktionen zu verstehen, soweit war ich bisher bei LaTeX noch nicht durchgestiegen. Eigentlich hatte ich gehofft das cite und textcite eigenständige Funktionen sind, aber so wie ich das nun verstehe ist textcite direkt abhängig von cite und Änderungen bei cite wirken sich direkt auch auf textcite aus. Dadurch gibt‘s dann doch eine runde Umklammerung zusätzlich zur eckigen klammer um den Tag zu viel, mal schauen ob ich die irgendwie wegbekomme.
Private Nachricht senden Benutzer-Profile anzeigen

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.08.2017, 11:11     Titel:
  Antworten mit Zitat      
Ob die bibmacros textcite und cite unabhängig sind oder nicht, hängt vom Stil ab; bei alphabetic und numeric bietet es sich eben an.

Ich hatte vergessen, ein \printtext[brackets] zu löschen, nachdem ich die Klammern direkt in das cite-Makro verschoben hatte. Vorher hatte ich alle Aufrufe von cite in \printtext[brackets] einwickeln müssen, es ist aber einfacher, das direkt in cite zu stopfen, das spart etwas an Schreibarbeit.

Code • Öffne in Overleaf
\documentclass[a4paper,12pt]{scrbook}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[style=alphabetic,firstinits=true,idemtracker=false,backend=bibtex]{biblatex}


\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
   @book{Reif.2017,
      editor={Reif, Konrad
},
      title={Grundlagen Fahrzeug- und Motorentechnik},
      publisher={Springer Fachmedien Wiesbaden},
      address={Wiesbaden},
      year={2017},
      series={Bosch Fachinformation Automobil},
      isbn={978-3-658-12635-3}
   }
\end{filecontents*}
\addbibresource{\jobname.bib}

\providebool{bbx:subentry}

% Änderung gegenüber Standard-cite:
% - kein [\mkbibparens] als Wrapper
% - stattdessen manuelle runde Klammern mit Abfrage für pre- und postnote
% - die eckigen Klammern leben jetzt im bibmacro cite
\DeclareCiteCommand{\cite}
  {\ifboolexpr{test {\iffieldundef{prenote}} and test {\iffieldundef{postnote}}}
     {}
     {\bibopenparen
}%
   \usebibmacro{prenote}}
  {\usebibmacro{citeindex}%
   \usebibmacro{cite}}
  {\multicitedelim}
  {\usebibmacro{postnote}%
    \ifboolexpr{test {\iffieldundef{prenote}} and test {\iffieldundef{postnote}}}
     {}
     {\bibcloseparen
}}

% das \printtext[brackets] ist neu
\renewbibmacro*{cite}{%
  \printtext[brackets]{%
    \printtext[bibhyperref]{%
      \printfield{labelprefix}%
      \printfield{labelalpha}%
      \printfield{extraalpha}%
      \ifbool{bbx:subentry}
        {\printfield{entrysetcount}}
        {}}}}

% hier nur runde statt eckigen Klammern
% i.e. \bibopenparen statt \bibopenbracket
\makeatletter
\renewbibmacro*{textcite}{%
  \iffieldequals{namehash}{\cbx@lasthash}
    {\setunit{\multicitedelim}}
    {\ifnameundef{labelname}
       {\printfield[citetitle]{labeltitle}}
       {\printnames{labelname}}%
     \setunit{%
       \global\booltrue{cbx:parens}%
       \printdelim{namelabeldelim}\bibopenparen}%<- hier
     \stepcounter{textcitecount}%
     \savefield{namehash}{\cbx@lasthash}}%
  \ifnumequal{\value{citecount}}{1}
    {\usebibmacro{prenote}}
    {}%
  \usebibmacro{cite}%
  \setunit{%
    \ifbool{cbx:parens}
      {\bibcloseparen\global\boolfalse{cbx:parens}}
      {}%
    \textcitedelim}}
\makeatother

\begin{document}

Beispiele der Zitierweise
\\\\
Variante \textbackslash cite ohne pre- \textbackslash postnote:
\\
IST\textbackslash SOLL: \cite{Reif.2017}
\\\\
Variante \textbackslash cite mit pre- \textbackslash postnote:
\\
IST: \cite[vgl.][1]{Reif.2017}
\\
SOLL: (vgl. \cite{Reif.2017}, S.  1)
\\\\
bzw. als Fußnote, IST: \footnote{\cite[vgl.][4]{Reif.2017}}
\\
SOLL Fußnote: \footnote{vgl. [Reif17], S. 4}
\\\\\\

Variante \textbackslash textcite
\\
IST: \textcite[vgl.][2\psq]{Reif.2017} meint, dass...
\\
SOLL: Reif (vgl. \cite{Reif.2017}, S.  2 f.) meint, dass...

\newpage

Variante \textbackslash footcite:
\\
IST: \footcite[vgl.][3]{Reif.2017}
\\
SOLL: \footnote{vgl. [Reif17], S. 3}
   
\end{document}

sollte besser passen.

Es wäre theoretisch sogar möglich in \cite zu erkennen, ob wir in einer Fußnote sind und dort immer die Klammern zu unterdrücken, auch wenn es pre- und postnotes gibt. Das würde ich aber nicht machen, da \footcite hier eh angebrachter ist.

Wenn Du besser verstehen möchtest, was hier passiert, vergleiche die veränderten Makros mit dem Standard in alphabetic.cbx.

Alex84
Forum-Newbie
Forum-Newbie

Beiträge: 3
Anmeldedatum: 17.08.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.08.2017, 12:54     Titel:
  Antworten mit Zitat      
Super, vielen Dank. Genauso hab ich‘s mir vorgestellt.

Anonymous hat Folgendes geschrieben:


Es wäre theoretisch sogar möglich in \cite zu erkennen, ob wir in einer Fußnote sind und dort immer die Klammern zu unterdrücken, auch wenn es pre- und postnotes gibt. Das würde ich aber nicht machen, da \footcite hier eh angebrachter ist.


Möchte ich auch so machen, ich finde es so übersichtlicher und einfacher, als über ein Konstrukt mittels footnote oder ähnlich den cite Befehl in die Fußnote zu setzen.


Anonymous hat Folgendes geschrieben:

Wenn Du besser verstehen möchtest, was hier passiert, vergleiche die veränderten Makros mit dem Standard in alphabetic.cbx.


Danke für den Hinweis, werde ich machen. Ich versuche gerade derartige Anpassungen von Befehlen möglichst gut zu verstehen und zu dokumentieren, um ggf. selbst schnell Änderungen vornehmen zu können, sollten kurzfristig Änderungen her.
Private Nachricht senden Benutzer-Profile anzeigen

Neues Thema eröffnen Neue Antwort erstellen



Options and Permissions
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen
.

goLaTeX ist Teil der goForen
goForen.de goMATLAB.de goLaTeX.de goPCB.de


  Impressum | FAQ | goLaTeX RSS Button RSS-Feed

Copyright © 2008 - 2017 goLaTeX.de