Verweisen Sie direkt auf das Zitat, wenn Sie den Bibliatex-Stil „numeric-comp“ verwenden.

Verweisen Sie direkt auf das Zitat, wenn Sie den Bibliatex-Stil „numeric-comp“ verwenden.

Mein bevorzugter Zitierstil biblatexist der numeric-compmit der autocite=superscriptOption. Gelegentlich muss ich jedoch auf eine bestimmte Referenz im Text verweisen und möchte daher zu etwas wie authoryearin diesem Fall wechseln.

Die Verwendung von \textcitenur negiert die Option für hochgestellte Zeichen. Ist es möglich, eine neue Funktion zu schreiben, die es mir ermöglicht, die beiden Zitierstile zu mischen?

MWE:

\documentclass{report}

\begin{filecontents}{example.bib}
@article {Example_article,
 AUTHOR = {Author, A. B.},
 TITLE = {A example paper},
 JOURNAL = {Example journal},
 VOLUME = {1},
 YEAR = {2018},
 NUMBER = {1},
 PAGES = {1-100}}
\end{filecontents}

\usepackage[style=numeric-comp,
      autocite=superscript,
      backend=biber
]{biblatex}

\addbibresource{example.bib}

\begin{document}

I normally cite like this \autocite{Example_article} which is great but sometimes I want to do this \textcite{Example_article} but it doesn't seem to to work.

\end{document}

Das Ergebnis:

Normalerweise zitiere ich so 1 , was super ist, aber manchmal möchte ich es so machen: Autor [1], aber das scheint nicht zu funktionieren.

wenn ich Folgendes möchte:

Normalerweise zitiere ich so 1 , was super ist, aber manchmal möchte ich dies tun: Autor (2018), aber es scheint nicht zu funktionieren.

Bei mehreren Autoren wird vorzugsweise nur ein Autor et al. (Jahr) angegeben.

Antwort1

Es ist im Allgemeinen eine bessere Idee, einen neuen Befehl über zu definieren, anstatt mehrere Befehle in einem \DeclareCiteCommandzusammenzufassen . Auch wenn Sie die Vorteile für Ihren speziellen Anwendungsfall vielleicht nicht erkennen, ist es eine gute Idee, schlechte Angewohnheiten zu vermeiden. Insbesondere bei Vor- und Nachbemerkungen oder wenn Sie mehrere Quellen gleichzeitig zitieren möchten, kann dieser Ansatz schiefgehen.\cite...\newcommand\newcommand

\documentclass{report}

\usepackage[style=numeric-comp,
      minbibnames=3,
      maxbibnames=5, 
      maxcitenames=2, 
      mincitenames=1,
      autocite=superscript,
      backend=biber,
      labeldateparts,
]{biblatex}

\usepackage{hyperref}

\newbibmacro{aycite}{%
  \printtext[bibhyperref]{%
    \printnames{labelname}%
    \setunit{\addspace}%
    \printtext[parens]{%
      \ifnumequal{\value{citecount}}{1}
        {\usebibmacro{prenote}}
        {}%
      \printlabeldate
      \setunit{\addsemicolon\space}%
      \printtext{ref\adddot}%
      \setunit{\addspace}%
      \printfield{labelprefix}%
      \printfield{labelnumber}%
      \ifnumequal{\value{citecount}}{\value{citetotal}}
        {\usebibmacro{postnote}}
        {}}}}

\DeclareCiteCommand{\aycite}
  {}
  {\usebibmacro{citeindex}%
   \usebibmacro{aycite}}
  {\multicitedelim}
  {}

\addbibresource{biblatex-examples.bib}

\begin{document}
How about this where \aycite{sigfridsson} discus a topic.

How about this where \aycite[cf.][1]{sigfridsson} discuss a topic.

How about this where \aycite{sigfridsson,worman} discuss a topic.

\printbibliography
\end{document}

Bildbeschreibung hier eingeben

Antwort2

Ich habe eine Antwort gefunden, die ich für zufriedenstellend halte. Dabei waren diese beiden Fragen hilfreich:Frage 1UndFrage 2

Ich sollte auch sagen, dass ich den Kommentaren von @cfr zu Referenzbezeichnungen zustimme, aber das war nicht mein Hauptanliegen, da ich das hyperrefPaket normalerweise verwende, sodass Zitate und Referenzen verknüpft sind. Normalerweise klicke ich einfach auf Zitate, anstatt sie als Schlüssel in einer Referenztabelle zu verwenden. Ich habe die Bezeichnungen daher in meine Lösung integriert.

Das ist, was ich habe:

\documentclass{report}

\begin{filecontents}{example.bib}
@article {Example_article,
 AUTHOR = {Author, A. B.}, 
 TITLE = {A example paper},
 JOURNAL = {Example journal},
 VOLUME = {1},
 YEAR = {2018},
 NUMBER = {1},
 PAGES = {1-100}}
\end{filecontents}

\usepackage[style=numeric-comp,
      minbibnames=3,
      maxbibnames=5, 
      maxcitenames=2, 
      mincitenames=1,
      autocite=superscript,
      backend=biber
]{biblatex}

\usepackage{hyperref}

\DeclareCiteCommand{\tabcite}
  {\usebibmacro{cite:init}%
   \usebibmacro{prenote}}
  {\usebibmacro{citeindex}%
   \usebibmacro{cite:comp}}
  {}
  {\usebibmacro{cite:dump}%
   \usebibmacro{postnote}}

\addbibresource{example.bib}

\newcommand{\citelink}[2]{\hyperlink{cite.\therefsection @#1}{\citeauthor{#1} (\citeyear{#1}; ref. \tabcite{#1})}}

\begin{document}


How about this where \citelink{Example_article}{} discusses a topic.


\printbibliography

\end{document}

was ergibt:

Wie wäre es hiermit, wo der Autor (2018; Ref. 1) ein Thema diskutiert.

welches auf die entsprechende Bibliographiereferenz verweist.

verwandte Informationen