3

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}
  • 3
    Why not declare a new cite command? Then you just use the fields author and title. – TeXnician Sep 13 '17 at 9:57
  • Or declare something like \newcommand*{\mycite}[1]{\citetitle{#1} from \citeauthor{#1}} (though @TeXnician's way would be the preferred one). – Skillmon Sep 13 '17 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 '17 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 '17 at 12:05
6

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}}

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.