我正在努力修复zepinglee/citeproc-lua#30可以简化如下。.bbl
生成的文件citeproc-lua
包含引文和参考书目,并由 LaTeX 读取\begin{document}
(对于非 LuaTeX 引擎)。文件thebibliography
中的内容.bbl
保存到标记列表中,然后用于输出或回归测试。但是,如果thebibliography
包含带有\url
百分号等特殊字符的 s,则此过程会失败。我该如何让它工作?
此外,引文结果包含在.bbl
from中citeproc-lua
,它们也会被保存以供命令使用\cite
。在注释样式的参考书目中,引文可能包含\url
s,这是一个类似的问题。
\documentclass{article}
\usepackage{xparse}
\usepackage{url}
\ExplSyntaxOn
\tl_new:N \l__csl_bibliography_tl
\RenewDocumentEnvironment { thebibliography } { m +b }
{
\tl_set:Nn \l__csl_bibliography_tl {#1}
}
{ }
\NewDocumentCommand { \printbibliography } { }
{
\tl_use:N \l__csl_bibliography_tl
}
\ExplSyntaxOff
\begin{document}
\begin{thebibliography}{1}
Foo 20\% bar \url{foo%20bar}
\end{thebibliography}
\printbibliography
% Expect the same output as:
% Foo 20\% bar \url{foo%20bar}
\end{document}
上述代码出现错误。
Runaway argument?
\begin Foo 20\% bar \url {foo\end {thebibliography} \par \printbibliography \
ETC.
! File ended while scanning use of \environment thebibliography .
<inserted text>
\par