make4ht: Kann es gerahmte HTML-Ausgabe generieren?

make4ht: Kann es gerahmte HTML-Ausgabe generieren?

Ich verwende es, make4htum 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 make4httun zu müssenautomatischFür mich.

Antwort1

Sie können versuchen,framesOption, 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:

Bildbeschreibung hier eingeben

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 \TableOfContentsBefehl ausgewählt. Das Erscheinungsbild des Inhaltsverzeichnisses wird mitStil.cssDie letzte Komponente der TOC-Behandlung ist inBuild.mk4 - Die besten Builds. Der collapsetocFilter bereinigt das Inhaltsverzeichnis und zeigt nur die aktuellen Abschnitte an.

So sieht es aus:

Bildbeschreibung hier eingeben

verwandte Informationen