make4ht:它可以生成框架的 html 输出吗?

make4ht:它可以生成框架的 html 输出吗?

我用它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 处理的最后一个部分是构建.mk4collapsetoc过滤器将清理目录并仅显示当前部分。

它看起来是这样的:

在此处输入图片描述

相关内容