biblatex hack——如何删除脚注中 footcite 的括号?

biblatex hack——如何删除脚注中 footcite 的括号?

虽然 biblatex-dw 包应该更适合在脚注中引用,但我更喜欢 Biblatex 内置的 verbose-* 样式,因为它们不使用系统See note n°,我不喜欢。此外,我正在使用 LyX,引用按钮只是简单地制作\cite,我认为不可能改变这一点。所以我使用了一个技巧将所有引用转换为脚注引用(\let\cite=\footcite)。

所以我的问题如下:\let在脚注中使用 \footcite(通过技巧自动转换)时,会添加括号,这会破坏我的布局。有人能指出一些棘手的命令或 biblatex 源代码中的某个地方(如果相关)让我可以禁用添加括号的功能吗?

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\usepackage[english,ngerman,frenchb]{babel}
\usepackage{csquotes}

\usepackage{filecontents}
\begin{filecontents}{file.bib}
@BOOK{fujimotouk,
  author = {Takahiro Fujimoto and Joe Tidd},
  title = {The UK and Japanese Auto Industry: Adoption and Adaptation of Fordism},
  year = {1993},
  series = {Imperial College working paper},
  langid = {english}
}
@UNPUBLISHED{entretiengerant,
  title = {Entretien avec le gérant de Destock Pièces Auto à Aulnay-sous-bois
    qui travaillait à l'époque chez Mercedes avenue de la grande armée},
  year = {2012},
}
\end{filecontents}

\usepackage[style=verbose-trad3,backend=bibtex8,autolang=hyphen,
language=auto]{biblatex}
\renewcommand*{\newunitpunct}{\addcomma\space}
\renewcommand*{\mkibid}{\emph}
\let\cite=\footcite
% first name first in bib
\DeclareNameAlias{sortname}{first-last}
\addbibresource{file.bib}
\begin{document}
\footnote{Some text \cite{fujimotouk}.}
\footnote{\cite{entretiengerant} Some text.}
\end{document}

给出,

结果

谢谢

答案1

显然,最好的解决方案是使用适合\*cite当前任务的命令。也就是说:不要使用\footcite{foo}within a \footnote{},而要使用\cite{foo}or \parencite{bar}

默认情况下,biblatex将嵌套的脚注(例如,\footcitea 内的a \footnote)转换为括号内的文本(并发出警告,例如Package biblatex Warning: Nested notes on input line XX.),以避免双重(嵌套)脚注。

可以稍微修改一下负责此行为的代码,不再添加括号。将以下内容添加到您的序言中

\makeatletter
\renewrobustcmd{\blx@mkbibfootnote}[2]{%
  \iftoggle{blx@footnote}
    {\blx@warning{Nested notes}%
     \addspace{#2}}% this was: \addspace\mkbibparens{#2}}
    {\unspace
     \ifnum\blx@notetype=\tw@
       \expandafter\@firstoftwo
     \else
       \expandafter\@secondoftwo
     \fi
       {\csuse{blx@theendnote#1}{\protecting{\blxmkbibnote{end}{#2}}}}
       {\csuse{footnote#1}{\protecting{\blxmkbibnote{foot}{#2}}}}}}
\makeatother

答案2

我询问了 LyX 用户邮件列表,是否可以调整视图中的插入引文按钮以获取\footcite而不是\cite,接下来的内容实际上允许在两者之间进行选择。我不得不更新到版本 2.1.0 beta2 并将其添加到文档参数本地布局(我唯一的修改是放在\footcite之前\cite)。非常感谢 LyX 的 Jürgen。

CiteEngine default
    footcite[]
    cite[]
    nocite
End

CiteFormat default
    # translatable bits
    _notcited not cited
    _addtobib Add to bibliography only.
    _footcite Foot:

    # macros
    !open [
    !sep ,
    !close ]

    !startlink {!<a href='#LyXCite-%clean:key%'>!}
    !endlink {!</a>!}

    !cite %!startlink%{%label%[[%label%]][[{%numericallabel%[[%numericallabel%]][[#%key%]]}]]}%!endlink%%!nextcite%

    !nextcite {%next%[[%!sep% %!cite%]]}
    !nexthashkey {%next%[[%!sep% #%key%%!nexthashkey%]]}
    !nextkey {%next%[[%!sep% %key%%!nextkey%]]}

    !textafter {%textafter%[[, %textafter%]]}

    # cite styles
    cite %!open%{%dialog%[[#ID]][[%!cite%]]}%!textafter%%!close%
    footcite %!open%{%dialog%[[%_footcite% #ID]][[%_footcite% %!cite%]]}%!textafter%%!close%
    nocite {%dialog%[[%_addtobib%]][[%key%%!nextkey% (%_notcited%)]]}
End

相关内容