我找不到将 LaTeX 输入转换为 HTML 输出的可接受方法。理想情况下,应该能够pdflatex my.tex
生成 PDF 文件并htmllatex my.tex
获得 HTML 输出。
我尝试了许多半解决方案:texmath、LateXMathML、Texvc、pdf2htmlEX、htlatex、pandoc 和其他一些方案,但输出结果都不符合要求。
似乎需要的是一个支持 HTML 的 TeX 引擎。原则上,这似乎是可行的。有人在做这样的项目吗?有谁能告诉我代码的当前状态有多难吗?我已经很久没读过了TeX:程序,但 TeX 最终会输出一系列垂直框和水平框,而这些框中的大多数在 HTML 下都不是必需的。直文本会通过并保持不变,而环境中的任何东西都需要“装箱”。似乎主要的困难在于 HTML 端,因为 HTML 并不容易将单个字形放置在给定位置。
(2022 年 2 月) 这刚刚从我眼皮底下经过:www.swiftlatex.com。据说这是一个 TeX 编译器,完全在浏览器中运行。
答案1
你可以在不使用“引擎”的情况下做到这一点。这是一个 TeX 示例
\newwrite\html
\parindent=0pt
\immediate\openout\html\jobname.html
\immediate\write\html{<!DOCTYPE html>
<html>
<head><h1>From TeX to PDF and HTML</h1></head>}
\def\section#1{{\bf #1}\vskip\baselineskip \immediate\write\html{<h2>#1</h2>}}
\def\subsection#1{{\bf #1}\vskip\baselineskip \immediate\write\html{<h3>#1</h3>}}
\def\text#1{#1 \vskip\baselineskip \immediate\write\html{#1 <br>}}
\section{Section}
\subsection{Subsection}
\def\hyperlink#1{#1\vskip\baselineskip\immediate\write\html{ <a href="https://tex.stackexchange.com/questions/561733/html-aware-tex-latex">#1</a>}}
\text{This is some text. This is some text.This is some text.This is some text.This is some text.This is some text.This is some text.This is some text.This is some text.This is some text.This is some text.This is some text.This is some text.This is some text.This is some text.This is some text. }\hyperlink{Tex-Exchange}
\immediate\write\html{</body></html>}
\immediate\closeout\html
\bye