You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在LaTeXML中指定字体?保留PDFLaTeX所用字体的方法

用LaTeXML保留PDFLaTeX字体(如Latin Modern)的实现方案

完全可以实现,而且不需要手动修改输出的HTML文件。以下是两种高效的解决方案:

一、自定义全局CSS(最简便)

LaTeXML会给不同样式的文本自动添加语义化类(比如斜体文本加.ltx_italic、粗体加.ltx_bold),你可以利用这些类批量绑定Latin Modern字体变体:

  1. 准备字体文件:把下载好的Latin Modern网页字体(woff/woff2格式)放到HTML输出目录的fonts子文件夹中。
  2. 编写CSS文件(比如命名为latmodern.css):
/* 定义所有Latin Modern Roman变体 */
@font-face {
    font-family: 'Latin Modern Roman';
    src: url('fonts/lmroman10-regular.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'Latin Modern Roman';
    src: url('fonts/lmroman10-italic.woff2') format('woff2');
    font-weight: normal;
    font-style: italic;
}
@font-face {
    font-family: 'Latin Modern Roman';
    src: url('fonts/lmroman10-bold.woff2') format('woff2');
    font-weight: bold;
    font-style: normal;
}
@font-face {
    font-family: 'Latin Modern Roman';
    src: url('fonts/lmroman10-bolditalic.woff2') format('woff2');
    font-weight: bold;
    font-style: italic;
}

/* 全局应用基础字体 */
body {
    font-family: 'Latin Modern Roman', serif;
}

/* 匹配LaTeXML自动生成的样式类 */
.ltx_italic {
    font-style: italic;
}
.ltx_bold {
    font-weight: bold;
}
.ltx_bolditalic {
    font-weight: bold;
    font-style: italic;
}
  1. 让LaTeXML自动加载CSS:
    • 命令行直接指定:
      latexml input.tex --css latmodern.css
      latexmlpost --dest output.html input.xml
      
    • 或者修改LaTeXML本地配置(比如~/.latexml/local.cfg),添加AddCSS("latmodern.css");,以后每次转换都会自动加载该样式。

二、进阶:LaTeXML绑定文件(精准控制)

如果需要对特定TeX命令或环境的字体做更精细的控制,可以编写LaTeXML绑定文件(.pm格式),定义TeX元素到HTML样式的映射。比如:

package LaTeXML::Package::Pool;
use strict;
use warnings;
use LaTeXML::Package;

# 给\textit命令绑定斜体样式
DefMacro('\textit{}', sub {
  my ($gullet, $content) = @_;
  return Invoke('Element', 'span', {class=>'ltx_italic'}, $content);
});

# 全局设置字体族
SetFontFamily('serif', 'Latin Modern Roman');
1;

将这个文件命名为latmodern.pm,转换时用--package latmodern.pm参数加载即可。

这样处理后,LaTeXML生成的HTML会自动应用Latin Modern字体的所有变体,无需手动修改元素样式。

内容的提问来源于stack exchange,提问作者LTolDe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 03:16:05