6

I often want to inline cite this way:

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

or

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

Both requires to use two "cite" commands and therefore to cite twice.

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

It bother me because I plan to make some statistics about citations (which author is the most cited, ...) and I suppose (I didn't look into this yet) it will create some problem.

\textcite is no better, it does not print title in my style (chicago). I cannot use \fullcite because it does not integrate with the text.

Is there a way to cite the title and author (inline) with one command?

MWE if needed:

\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}
4
  • 4
    Why not declare a new cite command? Then you just use the fields author and title.
    – TeXnician
    Sep 13, 2017 at 9:57
  • 1
    Or declare something like \newcommand*{\mycite}[1]{\citetitle{#1} from \citeauthor{#1}} (though @TeXnician's way would be the preferred one).
    – Skillmon
    Sep 13, 2017 at 10:53
  • @TeXnician I was guessing such a common usage where covered by Biblatex out of the bow. I am reluctant to create a new command because I export my text to html with pandoc and it will not recognized this customized command.
    – ppr
    Sep 13, 2017 at 11:57
  • Well, biblatex-chicago is a author-date (or note) style, so it makes little sense to also define a 'title-"by"-author' and 'title (cite)' command as they would not conform to the normal use of citations with that style. You will have to define a new command, you can either do this from within biblatex (the preferred way) or by sticking together high-level commands (as suggested by Skillmon, this has disadvantages when it comes to pre- and postnotes, citation tracking and multiple citations).
    – moewe
    Sep 13, 2017 at 12:05

1 Answer 1

8

We can define two new cite commands \ppracite and \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}}

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .