奇怪的“不当”解决方案

奇怪的“不当”解决方案

我正在使用biblatextikzposter用 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会导致一些隐藏的行为,从而允许正确打印参考书目,但从用户的角度来看,这非常奇怪!如果有人知道为什么会发生这种情况,最好能给出解释。

相关内容