3

This seems like it should be easy. In preparing syllabi for graduate seminars I like to organize my LaTeX sections as weeks (easy to do) and under each section include a list of the papers to be read and discussed. (So far, so good.)

However, for each week's section, I include the full citation with its abstract.

For APA style including the full citation w/o abstract is easy --- I simply use "\fullcitebib{jones15}".

HOWEVER, I have been manually inserting each abstract into the next line. Obviously this is tedious to do. This is LaTeX!! There MUST a better way!!! ??

5

Based on tmgriffiths' answer to Bibliography Style with abstract and numbered references we could try

\DeclareFieldFormat{abstract}{\par{\small\bibsentence\mkbibbold{\bibstring{abstract}}\addcolon\space #1}}
\renewbibmacro*{finentry}{%
  \iffieldundef{abstract}
    {\finentry}
    {\finentrypunct\printfield{abstract}\finentry}}

MWE

\documentclass[british]{article}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[backend=biber,
  style=apa,
]{biblatex}
\usepackage{hyperref}

\DeclareLanguageMapping{british}{british-apa}

\addbibresource{biblatex-examples.bib}

\DeclareFieldFormat{abstract}{\par{\small\bibsentence\mkbibbold{\bibstring{abstract}}\addcolon\space #1}}
\renewbibmacro*{finentry}{%
  \iffieldundef{abstract}
    {\finentry}
    {\finentrypunct\printfield{abstract}\finentry}}

\begin{document}
Lorem \fullcitebib{sigfridsson}
\end{document}

example output: abstract shows when cited with <code>\fullcitebib</code>


If you want the abstract to appear only when cited with \fullcitebib, we need to move the modification above inside the definition of \fullcitebib

\DeclareFieldFormat{abstract}{\par{\small\bibsentence\mkbibbold{\bibstring{abstract}}\addcolon\space #1}}
\DeclareCiteCommand{\fullcitebib}
  {\renewcommand{\finalnamedelim}{\ifnum\value{liststop}>2 \finalandcomma\fi\addspace\&\space}%
   \list{}
   {\setlength{\leftmargin}{\bibhang}%
     \setlength{\itemindent}{-\leftmargin}%
     \setlength{\itemsep}{\bibitemsep}%
     \setlength{\parsep}{\bibparsep}}\item}
  {\usedriver
    {\DeclareNameAlias{sortname}{default}%
      \global\boolfalse{bbx:parens}%
      \global\boolfalse{bbx:volseen}%
      \global\boolfalse{bbx:titleinauthpos}%
      \global\boolfalse{bbx:editorinauthpos}%
      \global\boolfalse{bbx:in}
      \renewbibmacro*{finentry}{%
      \iffieldundef{abstract}
        {\finentry}
        {\finentrypunct\printfield{abstract}\finentry}}}
    {\thefield{entrytype}}\finentry}
  {\item}
  {\endlist
   \usebibmacro{cite:post}}
| improve this answer | |
  • This is wonderful! Many thanks. I am using the version that modifies \fullcitebib. – Wayne Nov 17 '15 at 23:05

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.