使用一个命令引用标题和作者

使用一个命令引用标题和作者

我经常想以这种方式内联引用:

Please read the book "Title of my book" from Author.

或者

Please read the book "Title of my book" (Author 2001).

两者都需要使用两个“cite”命令,因此引用两次。

 Please read the book \citetitle{A01} from \citeauthor{A01}
 Please read the book \citetitle{A01} \parencite{A01}

这让我很困扰,因为我计划做一些关于引用的统计数据(哪位作者被引用最多,...),而且我猜(我还没有研究过这个问题)这会产生一些问题。

\textcite也好不到哪里去,它无法按照我的风格(芝加哥)打印标题。我无法使用,\fullcite因为它无法与文本集成。

有没有办法用一个命令引用标题和作者(内联)?

如果需要,请进行 MWE:

\begin{filecontents}{\jobname.bib}
@article{A01,
  author = {Author, A.},
  date = {2001},
  title = {An article title}},
  journaltitle = {A journal},
  number = {1},
  pages = {1--4},
}
\end{filecontents}

\documentclass{article}

\usepackage{csquotes}
\usepackage[authordate]{biblatex-chicago}

\usepackage{filecontents}


\addbibresource{\jobname.bib}

\begin{document}

I encourage you to read the book \citetitle{A01} \parencite{A01}. 

\printbibliography

\end{document}

答案1

我们可以定义两个新的 cite 命令\ppracite\pprbcite

\DeclareCiteCommand{\ppracite}
  {\usebibmacro{prenote}}
  {\ifciteindex
     {\indexfield{indextitle}}
     {}%
   \printfield[citetitle]{labeltitle}%
   \setunit{\addspace}%
   \printtext[parens]{\usebibmacro{cite}}}
  {\multicitedelim}
  {\usebibmacro{postnote}}

\NewBibliographyString{pprby}
\DefineBibliographyStrings{english}{pprby = {by}}

\DeclareCiteCommand{\pprbcite}
  {\usebibmacro{prenote}}
  {\ifciteindex
     {\indexfield{indextitle}}
     {}%
   \printfield[citetitle]{labeltitle}%
   \setunit{\addspace}%
   \bibstring{pprby}%
   \setunit{\addspace}%
   \printnames{labelname}}
  {\multicitedelim}
  {\usebibmacro{postnote}}

相关内容