![如何将 biblatex/authoryear-icomp 数据导出为 HTML?](https://linux22.com/image/404936/%E5%A6%82%E4%BD%95%E5%B0%86%20biblatex%2Fauthoryear-icomp%20%E6%95%B0%E6%8D%AE%E5%AF%BC%E5%87%BA%E4%B8%BA%20HTML%EF%BC%9F.png)
六年前有人问了这个问题但没有得到任何答案,他的问题也被关闭了。现在我也有同样的问题要问:
我已经为即将出版的论文准备了 BIB 数据(biblatex 格式),并且想将书目参考列表放在出版商的网站上。
因此,我只需要相同的输出(斜体、粗体、拉丁文、希腊文、西里尔文、阿拉伯文、日文、中文和马拉雅拉姆文脚本),采用 HTML 格式,使用与 PDF(authoryear-icomp
)中相同的 biblatex 样式,例如以下条目:
@BOOK{bib243,
AUTHOR = {{al-Qalqašandī, Abū l-ʿAbbās ʾAḥmad ibn ʿAlī}},
AUTHOR_ORIGINAL = {{القلقشندي أبو العبّاس أحمد بن علي بن أحمد}},
AUTHOR+AN = {1=ar-Arab},
TITLE = {{{\amirismall\beginR صبح الأعشى في صناعة الإنشاء\endR} [The Morning of the Dim-Sighted [Treatise] on the Art of Composition]}},
PUBLISHER = {{\amirismall\beginR الهية العامة للكتاب\endR} [al-Hayʾa l-ʿāmma li-l-Kitāb]},
ADDRESS = {Cairo},
YEAR = {1985},
}
应该变成authoryear-icomp
:
<li>al-Qalqašandī, Abū l-ʿAbbās ʾAḥmad ibn ʿAlī [القلقشندي أبو العبّاس أحمد بن علي بن أحمد] (1985).
صبح الأعشى في صناعة الإنشاء <i>[The Morning of the Dim-Sighted [Treatise] on the Art of Composition]</i>.
Cairo: الهية العامة للكتاب [al-Hayʾa l-ʿāmma li-l-Kitāb].</li>
看起来像这样:
- al-Qalqašandī,Abū l-ʿAbbās ʾAḥmad ibn ʿAlī [القلقشندي أبو العبّاس أحمد بن علي بن أحمد] (1985)。 صبح الأعشى ي صناعة الإنشاء《昏昏欲睡者的早晨:作文艺术论述》。开罗:阿拉伯联合酋长国 [al-Hayʾa l-ʿāmma li-l-Kitāb]。
该程序必须读取 BBL 文件中适当的字段命令,并在authoryear-icomp
文件中应用它们的定义以获得适当的 HTML 输出。
有没有什么工具可以做到这一点?
(我尝试使用 htxelatex,预防措施是删除 TeX 文件内容并只留下一个\nocite{*}
命令,它在内存耗尽之前生成了一个包含 31,669(!!!)页的 XDV 文件……)
答案1
我可以使用 .TeX MWE 转换您的示例文件make4ht
:
\documentclass{article}
\usepackage{fontspec}
\usepackage{polyglossia}
\setmainlanguage{english}
\setotherlanguages{arabic}
\newfontfamily\amirismall{Amiri}[Language=Arabic]
\usepackage[style=authoryear-icomp]{biblatex}
\addbibresource{hello.bib}
\begin{document}
\nocite{*}
\printbibliography
\end{document}
因为您要使用许多不同的 Unicode 字符,所以最好使用 LuaTeX 而不是 XeTeX tex4ht
。原因是它需要使用 XeTeX 激活每个支持的字符,这可能会导致一些问题。然后需要提供 LuaTeX 不支持的\beginR
和\endR
命令的定义。尝试以下配置文件config.cfg
:
\Preamble{xhtml}
\def\beginR{\HCode{<span dir="rtl">}\NoFonts}
\def\endR{\EndNoFonts\HCode{</span>}}
\begin{document}
\EndPreamble
它将<span>
向 HTML 文件插入一个具有正确方向信息的元素。该\NoFonts
命令禁用默认创建的大量不必要元素。
使用以下方式编译文件
make4ht -ul -c config.cfg filename.tex
结果如下:
HTML 代码如下:
<h3 class="sectionHead"><a
id="x1-1000"></a>References</h3>
<!--l. 9--><p class="noindent" >
</p>
<dl class="thebibliography"><dt id="X0-bib243" class="thebibliography">
</dt><dd
id="bib-1" class="thebibliography">
<!--l. 9--><p class="noindent" ><a id="page.1"></a><a
href="biblatexsample.html" id="X0-" ></a>al-Qalqašandī, Abū l-ʿAbbās ʾAḥmad ibn ʿAlī (1985). <span dir="rtl">صبح الأعشى في
صناعة الإنشاء</span> <span
class="rm-lmri-10">[The Morning of the Dim-Sighted [Treatise] on the Art of</span>
<span
class="rm-lmri-10">Composition]</span>. Cairo: <span dir="rtl">الهية العامة للكتاب</span> [al-Hayʾa l-ʿāmma li-l-Kitāb].</p></dd></dl>