Biblatex-apa:使用 \fullcitebib 编号并带注释的参考书目?

Biblatex-apa:使用 \fullcitebib 编号并带注释的参考书目?

编辑#3:下面的代码已更新为我现在使用的代码,来自https://tex.stackexchange.com/a/91381/24264;请注意,作为此修复的一部分,我已向 bibentry ( annote) 添加了一个字段。我决定放弃添加编号,因为这似乎比它本身带来的麻烦更多,而且我的教授最终可能会认为它违反了 APA 风格 :)

编辑#2:我从编辑 #1 中找到了令人满意的修复方法(反映在下面的代码中),但我仍然希望注释与编号引用对齐 — 在我的示例中为“Howlin”和单词“注释”。有人能告诉我如何做到这一点吗?

编辑#1:@Guido 对我的主要问题非常有帮助。此时,我试图插入一个“参考”页面,模仿\printbibliography当前文档中的垂直间距——我再次遇到了知识上的空白。

原始帖子:我的目标是创建一个 APA 格式的带注释的参考书目(用于 4 月份的学期论文)。到目前为止,我对 biblatex 的唯一体验就是简单的\printbibliography命令。经过一番搜索,我希望能复制解决方案这里,但我并没有感到高兴,即使我尽可能地遵循 Alan 的原始示例;只要 Alan 的代码(以 开头\newcounter{bibnum}和以 结尾{\end{thebibliography}})不存在, \fullcitebib 本身就可以顺利运行。当我插入代码块时,我在编译时收到以下错误:

! Undefined control sequence.
\blx@precode ...egin {thebibliography}\thebibitem
l.91 \fullcitebib{howlin04}

! LaTeX Error: Something's wrong--perhaps a missing \item.
See the LaTeX manual or LaTeX Companion for explanation.
...
l.91 \fullcitebib{howlin04}

我的问题(如果你可以称之为问题,而不是“请告诉我这是怎么做的”)是为什么我的 MiKTeX 似乎表现得很奇怪——我没有足够的 LaTeX 知识来理解如何\thebibitem正确定义,从而解决问题。

这是我的最小示例:

\documentclass[man,12pt,noextraspace]{apa6}
\usepackage{filecontents}
\shorttitle{Cog paper}

\begin{filecontents}{cogsources.bib} 
@article{howlin04,
author = {Howlin, Patricia and Goode, Susan and Hutton, Jane and Rutter, Michael},
title = {Adult outcome for children with autism},
journal = {Journal of Child Psychology and Psychiatry},
volume = {45},
number = {2},
publisher = {Blackwell Publishing},
issn = {1469-7610},
url = {http://dx.doi.org/10.1111/j.1469-7610.2004.00215.x},
doi = {10.1111/j.1469-7610.2004.00215.x},
pages = {212--229},
keywords = {Autistic disorder, prognosis, adulthood, follow-up studies},
year = {2004},
annote = {Annotations go here.},
}
\end{filecontents}

%% fontspec
\usepackage{fontspec}
\setmainfont[Ligatures=TeX]{Times New Roman}

%% bibliography
\usepackage[canadian]{babel}
\usepackage{csquotes}
\usepackage[style=apa,backend=biber,sortcites=true,sorting=nyt,language=american]{biblatex}
\DeclareLanguageMapping{american}{american-apa}
\addbibresource{cogsources.bib}

%% annote
\renewbibmacro*{finentry}{%
  \iffieldundef{annotation}
    {\finentry}
    {\setunit{\finentrypunct\par\vspace{\bibitemsep}\nobreak}
     \printfield{annotation}%
     \finentry}}    

\begin{document}

\printbibliography
\nocite{howlin04}

\end{document}

答案1

代码在https://tex.stackexchange.com/a/13655/24264must 修改如下:\thebibitem必须替换为\item。以下是生成的代码

\newcounter{bibnum}
\DeclareCiteCommand{\fullcitebib}
  {\renewenvironment*{thebibliography}
  {\list
     {\stepcounter{bibnum}\thebibnum.\ }
     {\setlength{\leftmargin}{1.65\bibhang}
      %
      \setlength{\itemindent}{-\bibhang}%
      \setlength{\itemsep}{\bibitemsep}%
      \setlength{\parsep}{\bibparsep}}}
  {\endlist}
  \renewcommand{\finalnamedelim}{\ifnum\value{liststop}>2 \finalandcomma\fi\addspace\&\space}%
  \begin{thebibliography}\item}
  {\usedriver
    {\DeclareNameAlias{sortname}{default}}
    {\thefield{entrytype}}\finentry}
  {\item}
  {\end{thebibliography}}

相关内容