有什么方法可以将我的(LuaLaTex + MakeIndex + BibTex)main.tex 从 MikTex 文件转换为 html 或 docx?
我试过了https://tex.stackexchange.com/a/73092/189401但这不是我想要的。
这些是我在序言中导入的包:
\documentclass[12pt, a4paper]{article}
\usepackage{fontspec}
\setmainfont{Times New Roman}
\usepackage{setspace}
\setlength{\topmargin}{-2.5cm}
\usepackage[top=2.50cm, bottom=2.50cm, left=3.00cm, right=2.00cm]{geometry}
\setcounter{tocdepth}{4}
\setcounter{secnumdepth}{4}
\usepackage{fancyhdr}
\fancypagestyle{plain}{
\fancyhf{}
\fancyfoot[R]{\thepage}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}}
\pagestyle{fancy}
\fancyhf{}
\rfoot{\thepage}
\renewcommand{\headrulewidth}{0pt}
\usepackage[LGR, T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english,greek]{babel}
\usepackage[unicode, linktoc=all]{hyperref}
\usepackage{mwe}
\usepackage{graphicx}
\graphicspath{{images/}}
\usepackage{easyfig}
\usepackage{float}
\usepackage{cleveref}
\crefname{figure}{figure}{figures}
\Crefname{figure}{Figure}{Figures}
\hypersetup{colorlinks=true, linkcolor=black, urlcolor=black, citecolor=black}
\usepackage[bibencoding=auto,backend=bibtex,autolang=other,sorting=none]{biblatex}
\renewcommand\bibliographystyle{unsrtnat}
\usepackage{csquotes}
\addbibresource{bib.bib}
\usepackage{multirow}
\usepackage{tabularx}
\usepackage{tabulary}
\usepackage[12pt]{moresize}
\usepackage{abstract}
\renewcommand{\abstractnamefont}{\normalfont\large}
\renewcommand{\abstracttextfont}{\normalfont\normalsize}
\usepackage[toc,page]{appendix}
\usepackage{xcolor}
\usepackage{import}
\begin{document}
答案1
好的,我已将一些示例代码添加到您的示例中,并尝试使用make4ht
。它编译基本正常,我只需要删除一些不必要的包(不要将fontenc
和inputenc
与 一起使用fontspec
,也不要将 BibTeX 命令与 BibLaTeX 一起使用)
修改后的示例如下:
\documentclass[12pt, a4paper]{article}
\usepackage{fontspec}
% \setmainfont{Times New Roman}
\usepackage{setspace}
\setlength{\topmargin}{-2.5cm}
\usepackage[top=2.50cm, bottom=2.50cm, left=3.00cm, right=2.00cm]{geometry}
\setcounter{tocdepth}{4}
\setcounter{secnumdepth}{4}
\usepackage{fancyhdr}
\fancypagestyle{plain}{
\fancyhf{}
\fancyfoot[R]{\thepage}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}}
\pagestyle{fancy}
\fancyhf{}
\rfoot{\thepage}
\renewcommand{\headrulewidth}{0pt}
% \usepackage[LGR, T1]{fontenc}
% \usepackage[utf8]{inputenc}
\usepackage[greek,english]{babel}
\usepackage[unicode, linktoc=all]{hyperref}
\usepackage{mwe}
\usepackage{graphicx}
\graphicspath{{images/}}
\usepackage{easyfig}
\usepackage{float}
\usepackage{cleveref}
\crefname{figure}{figure}{figures}
\Crefname{figure}{Figure}{Figures}
\hypersetup{colorlinks=true, linkcolor=black, urlcolor=black, citecolor=black}
\usepackage[bibencoding=auto,backend=biber,autolang=other,sorting=none]{biblatex}
% \renewcommand\bibliographystyle{unsrtnat}
\usepackage{csquotes}
\addbibresource{biblatex-examples.bib}
\usepackage{multirow}
\usepackage{tabularx}
\usepackage{tabulary}
\usepackage[12pt]{moresize}
\usepackage{abstract}
\renewcommand{\abstractnamefont}{\normalfont\large}
\renewcommand{\abstracttextfont}{\normalfont\normalsize}
\usepackage[toc,page]{appendix}
\usepackage{xcolor}
\usepackage{import}
\usepackage{makeidx}
\makeindex
\begin{document}
Hello world. Some indexing.
\index{hello}
\index{hello!Peter}
\index{Jenny|textbf}
Some citation \cite{gillies}
\printbibliography
\printindex
\end{document}
可以使用构建文件自动创建索引和参考书目make4ht
。需要的开发版本make4ht
才能获得正确的索引。将以下代码保存为mybuild.lua
:
if mode=="draft" then
Make:htlatex {}
else
Make:htlatex {}
Make:xindy {}
Make:biber {}
Make:htlatex {}
end
可以使用命令编译该文件
make4ht -ule build.lua filename.tex
在参考书目和索引没有改变的情况下,后续的编译可以通过以下方式加速:
make4ht -ule build.lua -m draft filename.tex
它只会执行一次 LaTeX,不会执行 Xindy 或 Biber。
结果如下: