wkhtmltopdf и MathJax: уравнения отображаются слишком маленькими

Я пытаюсь скачать лекции Фейнмана, используя wkhtmltopdf. Это командная строка, которую я использую:

wkhtmltopdf.exe http://www.feynmanlectures.caltech.edu/I_44.html --javascript-delay 20000 --no-stop-slow-scripts ./out/I_44.pdf

Однако формула MathJAX представляется слишком маленькой. Вот картинка:

Как я могу увеличить визуализированные уравнения?

В этой теме предлагаемое решение (насколько я понимаю) будет добавить

MathJax.Hub.Config({
CommonHTML: {
    minScaleAdjust: 100,
}
});

в HTML.

Но, конечно, загрузка файла HTML и его изменение перед передачей в wkhtmltopdf будет слишком громоздким. Я бы предпочел более простое решение, если это возможно.

2 ответа

Решение

Попробуйте использовать

 wkhtmltopdf.exe http://www.feynmanlectures.caltech.edu/I_44.html --run-script 'MathJax.Hub.Config({"HTML-CSS": {scale: 200}}); MathJax.Hub.Queue(["Rerender", MathJax.Hub], function () {window.status="finished"})' --window-status finished --no-stop-slow-scripts ./out/I_44.pdf


Это установит коэффициент масштабирования для математики и повторно отобразит его в этом размере. Он также использует window.status переменная для синхронизации захвата страницы с MathJax, чтобы захват происходил сразу после завершения MathJax (вместо ожидания произвольной задержки).

То, что работает для меня, близко к предложенному выше подходу, но с другим ключевым словом.

      MathJax.Hub.Config({
  "HTML-CSS": {minScaleAdjust: 100,},
  jax: ["input/TeX", "output/HTML-CSS",],
});

Ссылка находится здесь: https://docs.mathjax.org/en/v2.7-latest/options/output-processors/HTML-CSS.html .

Но я предполагаю (не проверял), что вы сможете заставить работать исходное предложение, если заменитеoutput/HTML-CSSсoutput/CommonHTML.

Другие вопросы по тегам