我正在使用biblatex
,tikzposter
用 Overleaf 进行编译(我认为使用pdflatex
)。
这是一个显示该问题的最小工作示例:
\documentclass{tikzposter}
\usepackage{biblatex}
\addbibresource{bib.bib}
\setlength\bibitemsep{10pt}
\begin{document}
\block{test}{Here's a reference \cite{refa}. And here's another \cite{refb}.
}
\block{}{
\printbibliography
\printbibliography
}
\end{document}
这将产生以下输出:
第一次调用 会\printbibliography
正常打印第一个参考文献,但随后会省略其余参考文献的数字。在第二次调用中,会打印前一次调用的剩余引用编号(如果有两个以上的参考文献,则编号将打印为[2] [3] [4]
等,全部在同一行上),然后正常打印参考书目。请注意,这\setlength\bibitemsep{10pt}
也只会影响第二次调用,因此这可能是一个更广泛的格式问题。
我找到了一个奇怪的解决方案来解决这个问题,我将把它作为答案发布出来。不过,我感兴趣的是是否有一个“合适的”解决方案。
是否有一些与 bib 相关的命令或参数biblatex
可以让参考书目正确格式化?
答案1
奇怪的“不当”解决方案
biblatex
由于我使用和制作了一些海报tikzposter
,其中参考书目已正常打印,我发现在海报中使用itemize
和等环境center
可以使参考书目正确打印(前提是其中一个环境出现在命令之前\printbibliography
)。
举例来说,添加另一个包含以下内容的块itemize
:
\documentclass{tikzposter}
\usepackage{biblatex}
\addbibresource{bib.bib}
\setlength\bibitemsep{10pt}
\begin{document}
\block{test}{Here's a reference \cite{refa}. And here's another \cite{refb}.
}
\block{new block}{ <--- new block containing an itemize environment
\begin{itemize}
\item A test item.
\end{itemize}
}
\block{}{
\printbibliography
\printbibliography
}
\end{document}
这是输出:
现在两个调用都\printbibliography
按预期运行。
itemize
我假设环境的处理方式center
会导致一些隐藏的行为,从而允许正确打印参考书目,但从用户的角度来看,这非常奇怪!如果有人知道为什么会发生这种情况,最好能给出解释。