make4ht: ¿puede generar una salida html enmarcada?

make4ht: ¿puede generar una salida html enmarcada?

Estoy usando make4htpara generar resultados HTML para un artículo que estoy escribiendo y publicando en línea. Hasta ahora, todo bien. Me gustaría saber si sería posible generar una salida HTML enmarcada para que siempre tenga el menú en el panel izquierdo, el contenido en el panel derecho, etc.

Estaba pensando que podría configurar una página index.html enmarcada que extraiga el html principal generado make4ht(que es básicamente el menú) a la izquierda y luego tener una página de contenido inicial en el panel derecho. Puedo modificar la página principal generada make4ht(después del hecho) para configurarla "_target"en el otro marco en todos los enlaces (si recuerdo correctamente cómo hacer esto en html)... pero sería mucho mejor make4hthacerlo élautomágicamentepara mí.

Respuesta1

Puedes probar elframesopción si realmente desea utilizar marcos. Como en este ejemplo:

\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}

Compile el archivo usando

make4ht filename.tex "3,frames"

Y produce la siguiente página HTML:

ingrese la descripción de la imagen aquí

Otra opción es usar el método que uso paratrabajo en progreso documentación Tex4ht. Ver elrepositorio de Githubpara las configuraciones que utilicé.

A diferencia de los marcos, el TOC se inserta en cada página, pero contiene enlaces solo a los niveles de sección de nivel superior. Sólo se muestran las secciones del capítulo actual.

En particular, el código HTML que inserta TOC está configurado enconfiguración.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>}}{}{}

Los comandos de sección que se incluyen en TOC se seleccionan usando el \TableOfContentscomando. La apariencia de TOC se diseña usandoestilo.css. El último componente del manejo de TOC está enconstruir.mk4. El collapsetocfiltro limpiará el TOC y mostrará solo las secciones actuales.

Así es como se ve:

ingrese la descripción de la imagen aquí

información relacionada