make4ht: pode gerar uma saída html em frames?

Sep 17 2020

Estou usando make4htpara gerar saída HTML para um artigo que estou escrevendo e postando online. Por enquanto, tudo bem. Gostaria de saber se seria possível gerar uma saída HTML em frames para que você sempre tenha o menu no painel esquerdo, conteúdo no painel direito e assim por diante.

Eu estava pensando que poderia configurar uma página index.html emoldurada que puxa o html principal gerado make4ht(que é basicamente o menu) à esquerda e, em seguida, ter uma página de conteúdo inicial no painel direito. Posso modificar a página principal gerada a partir make4ht(após o fato) para ter "_target"configurado o outro frame em todos os links (se bem me lembro como fazer isso em html) ... mas seria muito mais agradável make4htfazer é automagicamente para mim.

Respostas

3 michal.h21 Sep 18 2020 at 01:03

Você pode tentar a framesopção se realmente quiser usar molduras. Como neste exemplo:

\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 o arquivo usando

make4ht filename.tex "3,frames"

E produz a seguinte página HTML:

Outra opção é usar o método que eu uso para a documentação do trabalho em andamento Tex4ht . Veja o repositório Github para as configurações que usei.

Em contraste com os quadros, o TOC é inserido em cada página, mas contém links apenas para os níveis de corte de nível superior. Apenas as seções do capítulo atual são mostradas.

Em particular, o código HTML que insere TOC é configurado em 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>}}{}{}

Os comandos de corte que estão incluídos no TOC são selecionados usando o \TableOfContentscomando. A aparência do TOC é estilizada usando style.css . O último componente do tratamento de TOC está em build.mk4 . O collapsetocfiltro limpará o TOC e mostrará apenas as seções atuais.

Isto é o que parece: