我有一个biblatex
来自我部门的自定义样式,我dtx
使用 TeX 从文件编译而来。编译后,我可以将其作为样式包含在本地的同一文件夹中,一切正常。
但我无法让它在 Overleaf 中工作。我看不到biblatex
在 Overleaf 中编译样式的任何方法。我尝试上传所有相关文件,包括bst
我机器上的编译文件,它告诉我我的文件中有一个错误.bbx
:
Package etoolbox Error: \mkdaterangetrunc undefined. See the etoolbox package documentation for explanation. Type H <return> for immediate help. ... l.383 \renewrobustcmd*{\mkdaterangetrunc}
我的 Overleaf 项目的结构(省略的内容很少)目前如下。“bath”是自定义 biblatex 样式,“main”是文档,“dissertation_bibliography”是我的参考书目:
american-bath.lbx
bath.bbx
bath.bst
bath.cbx
bath.dbx
biblatex-bath.bib
biblatex-bath.dtx
biblatex-bath.ins
british-bath.lbx
dissertation_bibliography.bib
main.tex
这可能吗?我能以某种方式在 Overleaf 上编译它吗?或者bst
如果我以不同的方式将其从我的机器上移走,是否可行?
答案1
这是 Overleaf 版本过旧导致的问题biblatex
。目前 Overleaf 会biblatex 2016/05/14 v3.4
在其日志中报告。
这巴斯书目文件biblatex
从http://www.bath.ac.uk/library/infoskills/referencing-plagiarism/但是使用仅在 3.5 版本中引入的最新日期命令。
在 Overleaf 更新其系统以使用biblatex
3.5 以上的版本之前,您可以添加以下几行前加载中biblatex
\newcommand*{\mkdaterangetrunc}{}
\newcommand*{\mkdaterangetruncextra}{}
\newcommand*{\bibdatetimesep}{}
\newcommand*{\bibtimesep}{}
\newcommand*{\printtime}{}
就像
\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\newcommand*{\mkdaterangetrunc}{}
\newcommand*{\mkdaterangetruncextra}{}
\newcommand*{\bibdatetimesep}{}
\newcommand*{\bibtimesep}{}
\newcommand*{\printtime}{}
\usepackage[backend=biber, style=bath]{biblatex}
\addbibresource{biblatex-examples.bib}
\begin{document}
\cite{sigfridsson,geer,worman}
\printbibliography
\end{document}
背页上:https://www.overleaf.com/read/zcmphqjfgsgv
请注意,您必须忍受扩展输出中的一些粗糙边缘和可能出现的偏差,因为biblatex
3.4 不支持 、 使用的所有命令bath.bbx
。bath.cbx