biblatex-芝加哥 \fullcite

biblatex-芝加哥 \fullcite

biber我正在尝试使用 biblatex-chicago 和作为后端来获取完整的参考书目样式的引文(我使用的是 XelaTeX;biblatex 2.9a;biblatex-chicago 2014.1.31)。我知道这通常是用命令完成的,但是当我输入此命令时,我得到的输出与我用\fullcite替换时完全相同,即在出版商、地址和日期周围加上括号的引文。(实际上,我的文档中的和之间有一个区别:如果参考文献之前出现在文档中,则防止缩写。)当我使用 时,引文会以参考书目格式正确显示。\fullcite\cite\fullcite\cite\fullcite\printbibliography

我不知道这是否重要,但我正在使用\documentclass{article}(如果我将课程改为,比如说,没有任何变化,{book})。我还使用了一些不寻常的代码来格式化 CJK 书目条目,这些代码是从 Audrey 在 stackexchange 上的一篇文章中复制而来的(顺便说一句,我对此永远心存感激!芝加哥风格的 CJK 文献引文(例如美国东方学会):姓名顺序;转录/翻译的标题)。我不明白这段代码,所以不知道它是否可能导致 \fullcite 的行为。一个最小的工作示例如下:

\documentclass{article}
\usepackage{xltxtra}
\usepackage[fallback]{xeCJK}
\usepackage[backend=biber,bibencoding=utf8]{biblatex-chicago}
\addbibresource{C:/dissertate/Dissertation.bib}

\setmainfont[Mapping=tex-text, Ligatures={Common, Contextual, TeX}]{Times New Roman}
\setCJKmainfont[Scale=0.9]{仿宋}

\XeTeXlinebreaklocale "zh"
\XeTeXlinebreakskip = 0pt plus 1pt


\forcsvlist{\listadd\nameaffixlist}{Junior,Senior}

\newcommand{\ifnameaffix}[1]{%
  \ifboolexpr{ test {\ifrmnum{#1}} or test {\ifinlist{#1}{\nameaffixlist}} }}

% Based on definitions from biblatex.def

\newbibmacro*{name:cjk}[3]{%
  \usebibmacro{name:delim}{#2#3#1}%
  \usebibmacro{name:hook}{#2#3#1}%
  \mkbibnamelast{#1}%
  \ifblank{#2}{}{\bibnamedelimd\mkbibnamefirst{#2}}%
  \ifblank{#3}{}{\bibnamedelimd\mkbibnameaffix{#3}}}

\DeclareNameFormat{first-last}{%
  \ifboolexpr{ test {\ifblank{#7}} or test {\ifnameaffix{#7}} }
    {\iffirstinits
       {\usebibmacro{name:first-last}{#1}{#4}{#5}{#7}}
       {\usebibmacro{name:first-last}{#1}{#3}{#5}{#7}}}
    {\usebibmacro{name:cjk}{#1}{#3}{#7}}%
  \usebibmacro{name:andothers}}

\DeclareNameFormat{last-first}{%
  \ifboolexpr{ test {\ifblank{#7}} or test {\ifnameaffix{#7}} }
    {\iffirstinits
       {\usebibmacro{name:last-first}{#1}{#4}{#5}{#7}}
       {\usebibmacro{name:last-first}{#1}{#3}{#5}{#7}}}
    {\usebibmacro{name:cjk}{#1}{#3}{#7}}%
  \usebibmacro{name:andothers}}

\DeclareNameFormat{last-first/first-last}{%
  \ifboolexpr{ test {\ifblank{#7}} or test {\ifnameaffix{#7}} }
    {\ifnumequal{\value{listcount}}{1}
       {\iffirstinits
          {\usebibmacro{name:last-first}{#1}{#4}{#5}{#7}}
          {\usebibmacro{name:last-first}{#1}{#3}{#5}{#7}}%
        \ifblank{#3#5}
          {}
          {\usebibmacro{name:revsdelim}}}
       {\iffirstinits
          {\usebibmacro{name:first-last}{#1}{#4}{#5}{#7}}
          {\usebibmacro{name:first-last}{#1}{#3}{#5}{#7}}}}
    {\usebibmacro{name:cjk}{#1}{#3}{#7}}%
  \usebibmacro{name:andothers}}

% Based on definitions from biblatex-chicago's notes.cbx

\DeclareFieldFormat[book]{title}{%
  \mkbibemph{#1}%
  \iffieldundef{titleaddon}{\isdot}{\nopunct}}

\DeclareFieldFormat{booktitle}{%
  \mkbibemph{#1}%
  \iffieldundef{booktitleaddon}{}{\nopunct}}

\DeclareFieldFormat{maintitle}{%
  \mkbibemph{#1}%
  \iffieldundef{maintitleaddon}{}{\nopunct}}

\DeclareFieldFormat[article]{title}{%
  \iffieldundef{title}{}{\mkbibquote{#1}}%
  \iffieldundef{titleaddon}{\isdot}{\nopunct}}

\DeclareFieldFormat{usere}{\mkbibparens{#1}}


\begin{document}

\fullcite{ChengShankai}
\fullcite{Dudbridge}
\printbibliography

\end{document}

编辑:抱歉没有包含参考书目。这里包含 CJK 和普通参考资料。

    @book{ChengShankai,
    author = {Cheng, 成善楷, Shankai},
    title = {Du shi jianji},
    titleaddon = {杜诗笺记},
    publisher = {BaShu shudian},
    address = {Chengdu},
    year = {1989}
}

@book{Dudbridge,
   author = {Dudbridge, Glen},
   title = {Lost Books of Medieval China} ,
   publisher = {The British Library},
   address = {London},
   year = {2000},
}

结果如下。如您所见,它是引用样式,而不是参考书目样式: 在此处输入图片描述

答案1

不幸的是,您遇到的情况是 biblatex-chicago 重新调整了命令的用途\fullcite,使其不再使用与参考书目相同的驱动程序显示条目,而是确保引用完整条目,而不是简短形式或同上。手册几乎不鼓励您这样做。

但是,生成所需结果相当简单。下面,我刚刚创建了一个新的 cite 命令,\fullcite*它表现出所需的行为:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[backend=biber,bibencoding=utf8]{biblatex-chicago}
\addbibresource{biblatex-examples.bib}

\makeatletter
% new code
\DeclareCiteCommand*{\fullcite}
  {\usebibmacro{prenote}}%\bibsentence
  {\usebibmacro{citeindex}%
    \toggletrue{cms@fullnote}%
    \togglefalse{cms@shortnote}%
   \usebibmacro{cite:full*}
   \usebibmacro{cite:save}}
  {\multicitedelim}
  {}

\newbibmacro*{cite:full*}{%
  \printtext[bibhypertarget]{%
    \usedriver
      {\DeclareNameAlias{sortname}{default}\frenchspacing}
      {\thefield{entrytype}}}}%

\makeatother

\begin{document}

\fullcite{aristotle:physics}

\fullcite*{aristotle:physics}

\printbibliography
\end{document}

为了简洁起见,我在前言中加入了新的定义,以\makeatletter \makeatother确保它能按预期工作。不过,理想情况下,这些命令应该放在 中biblatex.cfg

显示结果的屏幕截图

答案2

您的最小示例不可用:缺少 bib 条目,并且您使用的是不常见的字体。不清楚您得到了什么以及您期望得到什么。此外,您可以轻松测试附加定义是否是导致您出现问题的原因(我对此表示怀疑):只需对其进行注释并尝试看看会发生什么。

如果我使用 pdflatex + biber 编译此示例:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[backend=biber,bibencoding=utf8]{biblatex-chicago}
\addbibresource{biblatex-examples.bib}

\begin{document}

\fullcite{angenendt}

\printbibliography
\end{document}

我使用 biblatex v2.9a 和 biblatex-chicago 2013/10/29 获得了预期结果:

在此处输入图片描述

相关内容