歌曲包输出为 HTML

歌曲包输出为 HTML

我用歌曲包制作了一本歌曲书,现在我想要一本 HTML 版本的歌曲书,每页一首歌曲,并有一个可选的可点击索引。

我尝试了常用的 LaTeX 到 HTML 转换器,但布局(标题、副标题等)变得混乱。Pandoc 不尊重样式(每首歌都变成一个长段落<p>...</p>,latex2html 输出的是空白页。

最接近的是 tex4ht,几乎完美,除了第一个诗节的编号,它不在新行,而是与标题在同一行。

有没有办法解释 LaTeX 源代码并将其转换为某种标记语言,以便我可以对其进行格式化(例如,使用元素的不同类,以便我可以使用 CSS)?我尝试过 PlasTeX,但它很难使用。

一个简单的例子是这样的:

\documentclass[a4paper,italian,11pt]{article}
\usepackage[lyric,]{songs}
\usepackage[italian]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\titleprefixword{cdcdcksdjcala}

\begin{document}
\begin{songs}{}
\beginsong{Adeste fideles}
\beginverse
Adeste fideles, l\ae ti triumphantes
venite venite in Bethlehem
Natum videte Regem Angelorum:
\endverse
\beginchorus
Venite adoremus, venite adoremus,
venite adoremus Dominum.
\endchorus
\beginverse
En grege relicto humiles ad cunas
vocati pastores adproperant
Et nos ovanti gradu festinemus.
\endverse
\beginverse
Aeterni Parentis splendorem \ae ternum
velatum sub carne videbimus
Deum infantem pannis involutum. 
\endverse
\endsong

\beginsong{Adoro te devote}
\beginverse
Adóro te devote, latens Déitas,
quæ sub his figuris vere látitas;
tibi se cor meum totum súbicit,
quia, te contemplans totum déficit.
\endverse
\beginverse
Visus, tactus, gustus in te fállitur,
sed áuditu solo tuto créditur.
Credo quidquid dixit Dei fìlius 
nil hoc veritatis verbo vérius.
\endverse
\beginverse
In cruce latebat sola Déitas,
sed hic latet simul et humánitas:
ambo tamen credens atque cònfitens,
peto, quod petivit latro pænitens.
\endverse
\beginverse
Plagas, sicut Thomas, non intúeor:
Deum tamen meum te confiteor:
Fac me tibi semper magis crédere,
in te spem hàbere, te dilígere.
\endverse
\beginverse
O memoriale mortis Dómini,
Panis vivo, vitam præstans hómini:
præsta meæ menti de te vívere,
et te illi semper dulce sàpere.
\endverse
\beginverse
Pie pellicane, Iesu Dómine,
me immundum munda tuo Sànguine,
cuius una stilla salvum fàcere,
totum mundum quit ab omni scélere.
\endverse
\beginverse
Iesu, quem velatum nunc aspício,
oro fiat illud, quod tam sitio:
ut te revelata cernens fácie
visu sim beatus tu\ae{} glóri\ae{}. Amen
\endverse
\endsong

\end{songs}

\end{document}
\bye

以下是示例输出: sample tex4ht output

答案1

您可以使用添加自定义CSS转换您的文件tex4ht,在这种情况下,您只需查看生成的代码即可找出您需要配置的元素:

<span 
class="colorbox" id="colorbox2"><span 
class="ecsx-1728">1</span>    </span>

这是您的第一首歌曲的带有数字 1 的框。在这种情况下,您需要配置span带有 的元素class colorbox。可以使用配置文件中的命令CSS引入:\Csstex4ht

\Preamble{xhtml}
\Css{span.colorbox{display:block;max-width:2em;}}
\begin{document}
\EndPreamble

将此配置另存为mycfg.cfg并使用编译文件

make4ht -c mycfg.cfg filename.tex

结果如下:

enter image description here

还有很多需要改进的地方,明天我会再看看。

相关内容