Я использую make4ht
для генерации HTML-вывода для статьи, которую я пишу и размещаю в сети. Пока все хорошо. Я хотел бы узнать, возможно ли генерировать фреймовый HTML-вывод, чтобы у вас всегда было меню на левой панели, контент на правой панели и так далее.
Я думал, что я мог бы настроить страницу index.html с фреймами, которая тянет основной html, сгенерированный из make4ht
(который в основном является меню) слева, а затем иметь некоторую начальную страницу контента на правой панели. Можно изменить главную страницу, сгенерированную из make4ht
(по факту), чтобы настроить "_target"
другой фрейм на всех ссылках (если я правильно помню, как это сделать в html)... но было бы намного лучше сделать 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для конфигураций, которые я использовал.
В отличие от фреймов, TOC вставляется на каждой странице, но содержит ссылки только на верхние уровни секционирования. Отображаются только разделы текущей главы.
В частности, HTML-код, который вставляет оглавление, настроен вconfig.cfg:
% 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>}}{}{}
Команды секционирования, входящие в TOC, выбираются с помощью \TableOfContents
команды. Внешний вид TOC оформляется с помощьюстиль.css. Последний компонент обработки TOC находится всборка.mk4Фильтр collapsetoc
очистит оглавление и покажет только текущие разделы.
Вот как это выглядит: