如何使用 Biblatex 参考文献将 LaTeX 导出为 OpenDocument 格式

如何使用 Biblatex 参考文献将 LaTeX 导出为 OpenDocument 格式

我正在尝试将 LaTeX 文档导出为 OpenDocument (.odt) 格式。有些出版商不知道如何处理 LaTeX 文件,所以要求我执行此操作。

我找不到导出 LaTeX 文档的方法带有 Biblatex 参考文献以适当的方式。

下面是一个例子。我使用TeX4ht将 .tex 文件转换为 .odt

\begin{filecontents}{biblio.bib}
@Book{author00:_title,
 author =    {Author},
 title =     {Title},
 publisher =     {Publisher},
 year =      2000}
\end{filecontents}

\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[style=authoryear-comp,hyperref]{biblatex}
\renewcommand*{\newunitpunct}{\addcomma\space}
\bibliography{biblio}
\title{Test}
\author{Title}
\begin{document}

Test\cite{author00:_title}

\printbibliography
\end{document}

导出为 .odt 的 TeX4ht 命令如下:

mk4ht oolatex test.tex 

此命令有效,但会创建一个没有引用的 OpenDocument 文件。引用被其键替换(在我们的示例中:author00:_title)。

关于 biblatex的输出mk4ht oolatex如下:

No file test.bbl.

LaTeX Warning: Citation 'author00:_title' on page 1 undefined on input line 11.

LaTeX Warning: Empty bibliography on input line 13.

[1] (./test.aux)

LaTeX Warning: There were undefined references.


Package biblatex Warning: Please (re)run Biber on the file:
(biblatex)                test
(biblatex)                and rerun LaTeX afterwards.

 )

因此我重新运行了 Biber,找到了参考:

biber test
defined(@array) is deprecated at /usr/share/perl5/Log/Log4perl/Config.pm line 864.
        (Maybe you should just omit the defined()?)
INFO - This is Biber 1.7
INFO - Logfile is 'test.blg'
INFO - Reading 'test.bcf'
INFO - Found 1 citekeys in bib section 0
INFO - Processing section 0
INFO - Looking for bibtex format file 'biblio.bib' for section 0
INFO - Decoding LaTeX character macros into UTF-8
INFO - Found BibTeX data source 'biblio.bib'
INFO - Overriding locale 'fr_FR.UTF-8' default tailoring 'variable = shifted' with 'variable = non-ignorable'
INFO - Sorting 'entry' list 'nyt' keys
INFO - Writing 'test.bbl' with encoding 'UTF-8'
INFO - Output to test.bbl

然后我重新运行 TeX4ht( mk4ht oolatex test.tex),结果意外结束:

(/usr/share/texmf/tex/generic/tex4ht/ooffice-mml.4ht)) (./test.aux) (./test.bbl
)
! Undefined control sequence.
\blx@begunit ...penalty \@M \hskip -\blx@unitmark 
                                                  \relax \hskip \blx@unitmar...
l.11 Test\cite{author00:_title}

? 

我该如何修复此错误并将我的 biblatex 参考文献导出为 odt 格式?

答案1

我使用 pandoc 找到了解决我的问题的方法(使用 biblatex 引用导出到 odt):

pandoc test.tex -o output.odt --bibliography /my/bibliography.bib -s

希望它能够帮助别人。

附言:即使升级后,Tex4ht 仍然无法为我渲染 biblatex。

相关内容