Ich verwende es, make4ht
um HTML-Ausgaben für einen Artikel zu generieren, den ich schreibe und online veröffentliche. So weit, so gut. Ich würde gerne wissen, ob es möglich wäre, gerahmte HTML-Ausgaben zu generieren, sodass Sie immer das Menü im linken Bereich, den Inhalt im rechten Bereich usw. haben.
Ich dachte, ich könnte eine gerahmte index.html-Seite einrichten, die das generierte Haupt-HTML make4ht
(das im Grunde das Menü ist) auf der linken Seite zieht und dann eine anfängliche Inhaltsseite im rechten Bereich hat. Ich kann die generierte Hauptseite make4ht
(nachträglich) ändern, um "_target"
alle Links auf den anderen Rahmen einzustellen (wenn ich mich richtig erinnere, wie das in HTML geht) ... aber es wäre so viel schöner, es selbst make4ht
tun zu müssenautomatischFür mich.
Antwort1
Sie können versuchen,frames
Option, wenn Sie wirklich Frames verwenden möchten. Wie in diesem Beispiel:
\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}
Kompilieren Sie die Datei mit
make4ht filename.tex "3,frames"
Und es erzeugt die folgende HTML-Seite:
Eine andere Möglichkeit ist die Verwendung der Methode, die ich verwende für diein Arbeit Tex4ht Dokumentation. Siehe dieGithub-Repositoryfür die von mir verwendeten Konfigurationen.
Im Gegensatz zu Frames wird das Inhaltsverzeichnis auf jeder Seite eingefügt, enthält aber nur Links zu den obersten Abschnittsebenen. Es werden nur die aktuellen Kapitelabschnitte angezeigt.
Insbesondere HTML-Code, der Inhaltsverzeichnisse einfügt, wird konfiguriert inconfig.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>}}{}{}
Abschnittsbefehle, die im Inhaltsverzeichnis enthalten sind, werden mit dem \TableOfContents
Befehl ausgewählt. Das Erscheinungsbild des Inhaltsverzeichnisses wird mitStil.cssDie letzte Komponente der TOC-Behandlung ist inBuild.mk4 - Die besten Builds. Der collapsetoc
Filter bereinigt das Inhaltsverzeichnis und zeigt nur die aktuellen Abschnitte an.
So sieht es aus: