biblatex-apa:带有短标题的文本引用

biblatex-apa:带有短标题的文本引用

我在硕士论文中使用了biblatexwith style=apa。我的参考书目中有一些来源,我的教授希望我引用它们shorttitle而不是作者。在大多数情况下,这些来源是法律,它们有一个常见的缩写,如“GDPR”。

我已经能够为 构建一个新的 citecommand,例如\parencite。现在我需要一个 的等效项\textcite。详细来说,它应该如下所示:

根据 GoBD(Rzn. 136)...

为了实现这一点,我\textciteapa.cbx文件中复制了命令并进行了修改。遗憾的是,当前的输出不是我想要的样子:

据 GoBD 称,Rzn. 136......

现在的问题是,详细来源(页面等)周围的括号丢失了,逗号需要删除。我确实尝试修改 bibmacro textcite,但无法创建可编译的内容。

希望你们中有人可以帮助我:)

这是我的 MWE:

\documentclass[a4paper,13pt]{scrartcl}

\usepackage{geometry}
\geometry{left=3.5cm, right=2cm, top=2.5cm, bottom=2cm}

\usepackage[ngerman]{babel}
\usepackage[babel,german=quotes]{csquotes}

\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{filecontents}
%\usepackage{hyperref}

%-------------------------------------------------------------------
% Bibliography with bibLaTeX                                        
%-------------------------------------------------------------------
\usepackage[style=apa]{biblatex}
\bibliography{literatur}

\DeclareCiteCommand{\textciteshorttitle}
{\usebibmacro{cite:init}%
    \usebibmacro{prenote}}
{\usebibmacro{citeindex}%
    \printtext[bibhyperref]{\printfield[cite]{shorttitle}}}
{}
{\usebibmacro{textcite:postnote}%
    \usebibmacro{cite:post}}

\begin{filecontents}{literatur.bib}
@misc{GoBD,
    author = {{Bundesministerium der Finanzen}},
    title = {Grunds{\"a}tze zur ordnungsm{\"a}{\ss}igen F{\"u}hrung und Aufbewahrung von B{\"u}chern, Aufzeichnungen und Unterlagen in elektronischer Form sowie zum Datenzugriff (GoBD)},
    version = {IV A 4 - S 0316/13/10003},
    year = {2014},
    shorttitle = {GoBD}
}
\end{filecontents}

\begin{document}
    \section{Ein Kapitel}
    Gemäß \textciteshorttitle[Rzn. 136]{GoBD} ...

    %-------------------------------------------------------------------
    % Literaturverzeichnis
    %-------------------------------------------------------------------
    \setcounter{secnumdepth}{0} %% no numbering
    \printbibliography[title=Literaturverzeichnis]

\end{document}

新 textcite 命令的示例

答案1

\textcite宏通常非常棘手。希望以下内容能够按预期工作。

与标准不同\textcite,无论是否有后注参数,括号始终存在,我们需要明确检查后注(伪)字段是否存在。

\documentclass[a4paper,13pt]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[babel,german=quotes]{csquotes}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{filecontents}

\usepackage[style=apa]{biblatex}

\newbibmacro*{textciteshorttitle}{%
  \ifbool{cbx:parens}
    {\bibcloseparen\global\boolfalse{cbx:parens}}
    {}%
  \setunit{\compcitedelim}%
  \printfield{shorttitle}%
  \iffieldundef{postnote}
    {}
    {\ifnumequal{\value{citecount}}{\value{citetotal}}
       {\printunit{\global\booltrue{cbx:parens}\addspace\bibopenparen}}
       {}}}

\DeclareCiteCommand{\textciteshorttitle}
  {\usebibmacro{cite:init}%
   \usebibmacro{prenote}}
  {\usebibmacro{citeindex}%
   \usebibmacro{textciteshorttitle}}
  {}
  {\usebibmacro{textcite:postnote}%
   \usebibmacro{cite:post}}

\begin{filecontents}{\jobname.bib}
@misc{GoBD,
  author     = {{Bundesministerium der Finanzen}},
  title      = {Grundsätze zur ordnungsmäßigen Führung
                und Aufbewahrung von Büchern, Aufzeichnungen und
                Unterlagen in elektronischer Form sowie zum
                Datenzugriff (GoBD)},
  version    = {IV A 4 - S 0316/13/10003},
  year       = {2014},
  shorttitle = {GoBD},
}
@misc{DSGVO,
  author       = {{Europäische Union}},
  title        = {Verordnung (EU) 2016/679 des Europäischen Parlaments
                  und des Rates vom 27.~April 2016 zum Schutz
                  natürlicher Personen bei der Verarbeitung
                  personenbezogener Daten, zum freien Datenverkehr
                  und zur Aufhebung der Richtlinie 95/46/EG
                  (Datenschutz-Grundverordnung): DSGVO},
  url          = {https://eur-lex.europa.eu/eli/reg/2016/679/oj},
  pagination   = {article},
  journaltitle = {Abl. (Amtsblatt der Europäischen Union)},
  version      = {ABl. L 119 vom 4.5.2016, S. 1--88},
  year         = {2016},
  shorttitle   = {DSGVO},
}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}
  Gemäß \textciteshorttitle[Rzn. 136]{GoBD} ...

  Gemäß \textciteshorttitle{GoBD,DSGVO} ...

  Gemäß \textciteshorttitle[12]{GoBD,DSGVO} ...

  \printbibliography[title=Literaturverzeichnis]
\end{document}

GoBD 规范 (Rzn. 136) ...//GoBD 规范,DSGVO ...//GoBD 规范,DSGVO (S. 12) ...

相关内容