goLaTeX - Mein LaTeX-Forum

Mein LaTeX-Forum


Login  | Registrieren
Direktlinks:
Zuletzt aktive Beiträge
Unbeantwortete Beiträge
[Erweitert]

Forenstatistik:
Beiträge: 81683
Top-Poster: Johannes_B (4559)

Wir begrüßen unseren neuesten Benutzer PeterPan87.

Partner:


goLaTeX.de wird gefördert durch DANTE e.V.: Deutschsprachige Anwendervereinigung TeX





Forum
      Option
[Erweitert]
  • Diese Seite weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Ab zweiter Referenz nur noch der erste Autor

 

sqq
Forum-Newbie
Forum-Newbie

Beiträge: 2
Anmeldedatum: 06.12.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.12.2016, 21:22     Titel: Ab zweiter Referenz nur noch der erste Autor
  Antworten mit Zitat      
Bei meiner Masterarbeit besteht folgende Anforderung: Stammt ein Werk von drei bis fünf AutorInnen, werden bei der ersten Nennung dieser Quelle alle Namen aufgeführt, bei jeder weiteren Nennung nur noch der Name des ersten Autors / der ersten Autorin, gefolgt von „u.a..“. Ich arbeite mit Natbib. Gibt es eine Möglichkeit das zu realisieren? Hier einmal das Minimalbeispiel:

Code • Öffne in Overleaf

\documentclass{article}

\usepackage[utf8]{inputenc}
\usepackage{csquotes}
\usepackage[ngerman]{babel}

\usepackage[style=authoryear-icomp, natbib=true, maxbibnames=50, maxcitenames=5, uniquelist=false, backend=biber]{biblatex}

\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
   @book{SechsNamen,
      author = {Ersternachname, Erstervorname and Zweiternachname, Zweitervorname and Drittervorname, Dritternachname and Vierternachname, Viertrevorname and Fuenfternachname, Fuenftervorname and Sechsternachname, Sechstervorname
},
      title = {Sechs Namen},
      date = {2011},
     
   }
   
   
   @book{FuenfNamen,
      author = {Ersternachname, Erstervorname and Zweiternachname, Zweitervorname and Drittervorname, Dritternachname and Vierternachname, Viertrevorname and Fuenfternachname, Fuenftervorname
},
      title = {Fuenf Namen},
      date = {2011},  
   }
}
\end{filecontents}

\addbibresource{\jobname.bib}

\begin{document}


\section{Wie gewünscht}

Beim ersten Vorkommen sollen alle 5 Autoren angezeigt werden. \citep{FuenfNamen}. Nun kommt ein anderes Zitat mit 6 Namen von \citep{SechsNamen}.
 
\section{Hier weiss ich nicht weiter}
Beim zweiten Aufruf soll nur noch der erste Autor mit u.a. angezeigt werden und nicht mehr alle 5 Namen:  \citep{FuenfNamen}
 
 


\printbibliography


\end{document}


 
Private Nachricht senden Benutzer-Profile anzeigen

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.12.2016, 16:24     Titel:
  Antworten mit Zitat      
Dankenswerterweise benutzt Du nicht natbib, sondern Paket auf CTANbiblatex (das allerdings mit dem natbib-Kompatibilitätsmodus).

Als ersten Vorschlag hätte ich
Code • Öffne in Overleaf
\AtEveryCitekey{\ifciteseen{}{\defcounter{maxnames}{5}}}

anzubieten. Dazu brauchst Du als Option maxcitenames=2.

Der Stil Paket auf CTANbiblatex-apa implementiert etwas der Art und von dort könntest Du
Code • Öffne in Overleaf
\makeatletter
\newbibmacro*{labelname:doname}[8]{%
  \ifboolexpr{test {\ifnumcomp{\value{listcount}}{>}{1}}
              or
              test {\ifuniqueprimaryauthor}}
    {\setcounter{uniquename}{0}}
    {}%
  \ifcase\value{uniquename}%
    \ifuseprefix
      {\usebibmacro{name:family}{#1}{#3}{#5}{\relax}}
      {\usebibmacro{name:family}{#1}{#3}{\relax}{\relax}}%
  \or
     \ifuseprefix
       {\usebibmacro{name:given-family}{#1}{#4}{#5}{\relax}}
       {\usebibmacro{name:given-family}{#1}{#4}{\relax}{\relax}}%
  \or
     \ifuseprefix
       {\usebibmacro{name:given-family}{#1}{#3}{#5}{\relax}}
       {\usebibmacro{name:given-family}{#1}{#3}{\relax}{\relax}}%
  \fi
  \usebibmacro{name:andothers}}

\DeclareNameFormat{labelname}{%
  % First set the truncation point
  \ifthenelse{\value{uniquelist}>1}
    {\numdef\cbx@min{\value{uniquelist}}}
    {\numdef\cbx@min{\value{minnames}}}%
  % Always print the first name and the second if there are only two since
  % "et al" must always be plural
  \ifboolexpr{test {\ifnumcomp{\value{listcount}}{=}{1}}
              or test {\ifnumcomp{\value{listtotal}}{=}{2}}}
    {\usebibmacro{labelname:doname}%
      {\namepartfamily}%
      {\namepartfamilyi}%
      {\namepartgiven}%
      {\namepartgiveni}%
      {\namepartprefix}%
      {\namepartprefixi}%
      {\namepartsuffix}%
      {\namepartsuffixi}}
    % We are looking at name >=3
    % If the list is 6 or more names or we have seen citation before, potential truncation
    {\ifboolexpr{test {\ifnumcomp{\value{listtotal}}{>}{5}}
                 or test {\ifciteseen}}
     % Less than the truncation point, print normally
     {\ifnumcomp{\value{listcount}}{<}{\cbx@min + 1}
       {\usebibmacro{labelname:doname}%
         {\namepartfamily}%
         {\namepartfamilyi}%
         {\namepartgiven}%
         {\namepartgiveni}%
         {\namepartprefix}%
         {\namepartprefixi}%
         {\namepartsuffix}%
         {\namepartsuffixi}}
       {}%
      % At potential truncation point ...
      \ifnumcomp{\value{listcount}}{=}{\cbx@min + 1}
        % but enforce plurality of et al - only truncate here if there is at
        % least one more element after the current potential truncation point
        % so that "et al" covers at least two elements.
        {\ifnumcomp{\value{listcount}}{<}{\value{listtotal}}
          {\andothersdelim\bibstring{andothers}}
          {\usebibmacro{labelname:doname}%
            {\namepartfamily}%
            {\namepartfamilyi}%
            {\namepartgiven}%
            {\namepartgiveni}%
            {\namepartprefix}%
            {\namepartprefixi}%
            {\namepartsuffix}%
            {\namepartsuffixi}}}
        {}%
      % After truncation point, do not print name
      \ifnumcomp{\value{listcount}}{>}{\cbx@min + 1}
       {\relax}%
       {}}%
     % We are looking at name >=3
     % Name list is < 6 names or we haven't seen this citation before, print normally
     {\usebibmacro{labelname:doname}%
       {\namepartfamily}%
       {\namepartfamilyi}%
       {\namepartgiven}%
       {\namepartgiveni}%
       {\namepartprefix}%
       {\namepartprefixi}%
       {\namepartsuffix}%
       {\namepartsuffixi}}}}

\newbibmacro*{cite}{%
  \iffieldundef{shorthand}
    {\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage}
       {\usebibmacro{cite:ibid}}
       {\ifthenelse{\ifnameundef{labelname}\OR\iffieldundef{labelyear}}
          {\usebibmacro{cite:label}%
           \setunit{\printdelim{nonameyeardelim}}%
           \usebibmacro{cite:labelyear+extrayear}%
           \usebibmacro{cite:reinit}}
          {\iffieldequals{namehash}{\cbx@lasthash}
             {\ifthenelse{\iffieldequals{labelyear}{\cbx@lastyear}\AND
                          \(\value{multicitecount}=0\OR\iffieldundef{postnote}\)}
                {\setunit{\addcomma}%
                 \usebibmacro{cite:extrayear}}
                {\setunit{\compcitedelim}%
                 \usebibmacro{cite:labelyear+extrayear}%
                 \savefield{labelyear}{\cbx@lastyear}}}
             {\printnames[labelname][-\value{listtotal}]{labelname}%
              \setunit{\printdelim{nameyeardelim}}%
              \usebibmacro{cite:labelyear+extrayear}%
              \savefield{namehash}{\cbx@lasthash}%
              \savefield{labelyear}{\cbx@lastyear}}}}}
    {\usebibmacro{cite:shorthand}%
     \usebibmacro{cite:reinit}}%
  \setunit{\multicitedelim}}
\makeatother

klauen.

Ich hätte gesagt, dass meine erste Lösung eigentlich schon tun sollte, was Du brauchst, Aber es kann sein, dass bei bestimmten Sonderfällen die Lösung von biblatex-apa stabiler ist. (Ich wüsste allerdings wirklich nicht, wo und wie.)

sqq
Forum-Newbie
Forum-Newbie

Beiträge: 2
Anmeldedatum: 06.12.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.12.2016, 18:08     Titel:
  Antworten mit Zitat      
Herzlichen Dank, Dein erster Vorschlag scheint mein Problem komplett zu lösen. Very Happy
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