Faulty section header with latest Tex4ebook running on Texlive 2018

This is a followup of my question here and uses the same MWE and the config file provided by michal.h21.

MWE:

\documentclass[ebook,12pt,oneside,openany]{memoir}

\usepackage{lipsum}

\title{Book}
\author{Author}
\date{}

\begin{document}

\maketitle

\frontmatter

\tableofcontents \newpage

\mainmatter

\chapter{C1}

\section{S1}

\lipsum[1]

\end{document}


Config file:

\Preamble{xhtml}
\begin{document}

\EndPreamble


The section header is not formatted correctly in the ebook with the current version of tex4ebook on Texlive 2018:

Is there a way to fix this? Thanks.

• @cfr I've added the files as requested thanks. – user41974 May 3 '18 at 3:27
• Thank you! It also encourages people to help if they don't have to click an extra link. (I know that doesn't seem like much, but the web does contain a lot of links and it gets tedious clicking them all.) Sadly, I know zilch about tex4ebook, but I'm sure somebody else will answer :-). – cfr May 3 '18 at 3:34
• It seems that sections were redefined in memoir – michal.h21 May 3 '18 at 11:46
• @michal.h21 Thanks for the feedback. Is it best to go back to a previous version of memoir or is there a workaround? – user41974 May 3 '18 at 11:58
• @user41974 I've posted an answer. It is best to use an updated memoir.4ht file – michal.h21 May 3 '18 at 12:33

This issue was caused by recent memoir update, because it doesn't include mempatch.sty package anymore. tex4ht used to include some configurations for this package, they fixed sections and paragraphs. I've included these configurations directly to memoir.4ht and it seems to work. Since it will take few days before TL 2018 is updated, you can try this version.

memoir.4ht:

% memoir.4ht (2018-05-03-14:17), generated from tex4ht-4ht.tex
% Copyright 2003-2009 Eitan M. Gurari
% Copyright 2009-2018 TeX Users Group
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either
% version 1.3c of this license or (at your option) any
% later version. The latest version of this license is in
%   http://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions
% of LaTeX version 2005/12/01 or later.
%
% This work has the LPPL maintenance status "maintained".
%
% The Current Maintainer of this work
% is the TeX4ht Project <http://tug.org/tex4ht>.
%
% If you modify this program, changing the
% version identification would be appreciated.
\input book.4ht
\input verse.4ht
% Table handling:
\input array.4ht
\input dcolumn.4ht
\input tabularx.4ht
\input booktabs.4ht
\let\columnlines\empty

\let\rm\empty
\let\sf\empty
\let\tt\empty
\let\bf\empty
\let\it\empty

\def\@chapter[#1]#2{%
\HAssign\minipageNum=\:mpNum \relax
%
\global\let\f@rtoc\f@rtoc
\global\let\f@rhdr\f@rhdr  }%
\HtmlEnv   \Toc:Title{#1}\:chapter{#2}}
\NewConfigure{poemline}{2}
\NewConfigure{legend}{2}
\renewcommand\legend[1]{\a:legend #1\b:legend}

\ifx \memgobble\:UnDef
\pend:defI\getthelinenumber{%
\let\sv:thepoemline\thepoemline
\pend:def\thepoemline{\a:poemline}%
\append:def\thepoemline{\b:poemline}}
\append:defI\getthelinenumber{\let\thepoemline\sv:thepoemline}

\else
\pend:defII\getthelinenumber{%
\let\sv:thepoemline\thepoemline
\pend:def\thepoemline{\a:poemline}%
\append:def\thepoemline{\b:poemline}}
\append:defII\getthelinenumber{\let\thepoemline\sv:thepoemline}

\let\no@Msect\M@sect
\NewConfigure{@sec @ssect}[1]{%
\def\rdef:sec##1{#1\csname no@##1\endcsname}}
\:CheckOption{sections-}     \if:Option
\Configure{@sec @ssect}{}
\else
\Configure{@sec @ssect}{%
\let\sv:Sc\:Sc \let\sv:sect\@sect \let\sv:ssect\@ssect
\let\sv:Msect\M@sect
\let\:Sc\:gobble
\def\M@sect##1##2##3##4##5##6[##7][##8]##9{%
\ifx \o:@seccntformat:\:UnDef
\let\o:@seccntformat:\@seccntformat
\fi
\let\@seccntformat\:gobble
%
\let\M@sect\no@Msect   \xdef\c:secnumdepth{##2}%
\no@Msect{##1}{##2}{##3}{##4}{##5}{##6}[{##7}][{##8}]{}}%
\let\:Sc\sv:Sc \let\@sect\sv:sect \let\@ssect\sv:ssect
\let\M@sect\sv:Msect
%
\let\@seccntformat=\o:@seccntformat:
%
\HtmlEnv    \Toc:Title{##8}\csname no:#1\endcsname{##9}}%
%
\def\@sect##1##2##3##4##5##6[##7]##8{%
\ifx \o:@seccntformat:\:UnDef
\let\o:@seccntformat:\@seccntformat
\fi
\let\@seccntformat\:gobble
%
\let\@sect\no@sect   \xdef\c:secnumdepth{##2}%
\no@sect{##1}{##2}{##3}{##4}{##5}{##6}[{##7}]{}}%
\let\:Sc\sv:Sc \let\@sect\sv:sect \let\@ssect\sv:ssect
\let\M@sect\sv:Msect
%
\let\@seccntformat=\o:@seccntformat:
%
\HtmlEnv    \Toc:Title{##7}\csname no:#1\endcsname{##8}}%
%
\def\@ssect##1##2##3##4##5{%
\gdef\ssect:ttl{##5}%
%
\let\@ssect\no@ssect
\no@ssect{##1}{##2}{##3}{##4}{}}%
\let\:Sc\sv:Sc \let\@sect\sv:sect \let\@ssect\sv:ssect
\let\M@sect\sv:Msect
%
\HtmlEnv   \csname :like#1\endcsname{##5}}%
\IgnorePar}
\fi

\fi
\Hinput{memoir}
\endinput


The output seems correct now:

• Ahh, I did not know anyone was using it. We haven't used it 7+ years, so I decided to remove it, sorry for the inconvenience. – daleif May 3 '18 at 13:00
• @daleif that's fine, I don't know why this code was in separate file anyway, maybe patches for sections used to be in mempatch.sty? – michal.h21 May 3 '18 at 13:10
• A long time ago they were. For a long time Peter added changed to the memoir class to mempatch insteadof just changing it in memoir.cls. That got too messy in the end, and I just make changes in the cls file. There are still some duplicated code in the cls file from the merging of memoir.cls and mempatch.sty. As far as I can see mempatch has been empty since 2009! – daleif May 3 '18 at 13:22
• @daleif we never found that until now, when mampatch had been removed. – michal.h21 May 3 '18 at 13:47