我的线方程是:
$k'^4_{i}$
我期待着这个
$k^{\prime 4}_{i}$
如何改变'
并\prime
分组所有事物。怎么做?
答案1
这取决于您用来显示数学的方式。如果您使用依赖于正确 LaTeX 输入的方法来插入 HTML 或 MathML 标签,则您的示例将无法工作。TeX4ht 使用 TeX 扩展来插入标签,因此它无法分析您的源代码并尝试猜测您的意图。因此默认方法或 MathML 不适用。
不过,你也可以使用其他方法。其中一种方法并不推荐,那就是使用图片来做数学题。这种方法有很多缺陷,最重要的是图片没有与基线对齐,所以在段落中看起来可能很糟糕。
这里有一个MWE
:
\documentclass{article}
\begin{document}
Here is the correct input: $k^{\prime 4}_{i}$.
This is the original input: $k'^4_{i}$.
\end{document}
您可以尝试使用以下方法将其转换为 SVG 图像:
make4ht sample.tex "pic-m,svg"
结果如下:
另一种可能性是保持你的数学输入不被转换并让 MathJax 来转换它:
make4ht sample.tex "mathjax"
结果如下:
你可以看到它看起来好多了。缺点是很难添加对自定义命令,我认为您会用到。
您还可以使用脚本预处理您的输入文件,该脚本会将您的原始输入更改为正确的输入,然后使用管道将其传递给 make4ht。
以下是这样的脚本filter.lua
:
for line in io.lines() do
line = line:gsub("%'%^(.-)%_", "^{\\prime %1}_")
print(line)
end
它使用简单的正则表达式将您的输入更改为正确的输入。您可以使用以下命令将其与 make4ht 一起使用:
texlua filter.lua < sample.tex | make4ht -j sample - "mathml,mathjax"
该-j
选项用于命名输出文件,这是必需的,因为输入来自管道。文件名位置使用的破折号告诉 make4ht 从标准输入读取输入。
我们使用 MathJax 来渲染 MathML,因为并非所有浏览器都支持 MathML。此方法适用于自定义命令,因此可能最适合您的用例。
结果如下:
您可以看到它与