我用它make4ht
来生成我正在撰写并在线发布的文章的 HTML 输出。到目前为止,一切顺利。我想知道是否可以生成带框架的 HTML 输出,以便您始终在左侧窗格中看到菜单,在右侧窗格中看到内容等等。
我在想,我可以设置一个带框架的 index.html 页面,将生成的主 html make4ht
(基本上是菜单)拉到左侧,然后在右侧窗格中显示一些初始内容页面。可以修改生成的主页make4ht
(事后)以在所有链接上设置到其他框架(如果我没记错的话,如何在 html 中执行此操作)...但如果能这样做"_target"
会更好make4ht
自动地为我。
答案1
您可以尝试frames
如果确实想使用框架,则可以使用以下选项。如本例所示:
\documentclass{book}
\usepackage{kantlipsum}
\begin{document}
\chapter{Hello}
\kant[1-3]
\chapter{World}
\section{Section}
\kant[4-5]
\section{Another Section}
\kant[6-7]
\end{document}
使用以下方式编译文件
make4ht filename.tex "3,frames"
它会生成以下 HTML 页面:
另一个选择是使用我用于正在进行中的 Tex4ht 文档. 请参阅Github 仓库对于我使用的配置。
与框架不同,目录插入到每一页,但只包含指向顶级章节级别的链接。仅显示当前章节部分。
具体来说,插入目录的 HTML 代码配置在配置文件:
% Mini TOC
\Configure{crosslinks+}{%
\bgroup
% container for the page toc
\Configure{tableofcontents}{\IgnorePar\EndP\HCode{<nav class="TOC">}\IgnorePar}
{\HCode{\Hnewline}}{\IgnorePar\HCode{</nav>\Hnewline}\ShowPar}{}{}%
\TableOfContents[chapter,section,subsection]% Print table of contents before crosslinks
\egroup
\ifvmode\IgnorePar\fi\EndP%
\HCode{<main class="main-content">\Hnewline<nav class="crosslinks-top">} }
{\HCode{</nav>\Hnewline}}
{\ifvmode\IgnorePar\fi\EndP%
\HCode{<nav class="crosslinks-bottom">}}{\HCode{</nav>}}{}{}
目录中包含的分段命令可通过\TableOfContents
命令进行选择。目录的外观样式使用样式.css. TOC 处理的最后一个部分是构建.mk4。collapsetoc
过滤器将清理目录并仅显示当前部分。
它看起来是这样的: