文中引用末尾的点

文中引用末尾的点

我正在使用命令\renewbibmacro*{finentry}{}来隐藏 biblatex 引用末尾的点,这似乎有效。我现在正试图想出一个\fullcitebib命令来打印正文中的引用,格式与引用中的格式相同。我有以下代码

\documentclass{article}
\usepackage[backend=biber,style=authoryear]{biblatex}
\begin{filecontents}{\jobname.bib}
@Book{crys2010,
  author =   {David Crystal},
  title =    {An Encyclopedic Dictionary of Language and Languages},
  publisher =    {Blackwell},
  year =     {2010},
  edition =      {3},
  address =      {Oxford},
}
@InCollection{herm2006,
  author =   {Rachel Hermetet},
  title =    {\emph{The Criterion} et les litt\'{e}ratures
                  europ\'{e}ennes, 1922--1935},
  booktitle =    {Revues Modernistes anglo-am\'ericaines: lieux
                  d'\'{e}changes, lieux d'exil},
  publisher =    {Ent'revues},
  year =     {2006},
  editor =   {Beno\^{i}t Tadi\'{e}},
  pages =    {189-200},
  address =      {Paris},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\renewbibmacro*{finentry}{}
\DeclareCiteCommand{\fullcitebib}
  {\list{}
   {\setlength{\leftmargin}{\bibhang}%
     \setlength{\itemindent}{-\leftmargin}%
     \setlength{\itemsep}{\bibitemsep}%
     \setlength{\parsep}{\bibparsep}}\item}
  {\usedriver
     {}
     {\thefield{entrytype}}\finentry
   }
  {\item}
  {\endlist
   }
\begin{document}
\fullcitebib{crys2010,herm2006}
\printbibliography
\end{document}

从而产生了这个

在此处输入图片描述

如何去掉用我的新命令创建的引用末尾的点?

答案1

代替

\renewbibmacro*{finentry}{}

\renewcommand*{\finentrypunct}{}

出现问题的原因在于,通常我们有\newbibmacro*{finentry}{\finentry},除其他有用的功能外,宏\finentry还会打印\finentrypunct。如果您重新定义 bibmacrofinentry以不执行任何操作,则看不到\finentrypunct(但您还缺少一些内部帮助程序的重置)。但在您直接\fullcitebib调用时\finentry,它仍然会打印\finentrypunct

因此,删除末尾标点符号的正确方法是使用 来\finentrypunct清空\renewcommand*{\finentrypunct}{}。另请参阅如何删除每个参考书目条目末尾的句号?

相关内容