在 Texlive 2018 上运行最新的 Tex4ebook 时,节标题出现故障

在 Texlive 2018 上运行最新的 Tex4ebook 时,节标题出现故障

这是我的问题的后续这里并使用相同的 MWE 和 michal.h21 提供的配置文件。

梅威瑟:

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

\usepackage{lipsum}

\setsecheadstyle{\normalsize\itshape\raggedright}

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

\begin{document}

\maketitle

\frontmatter

\tableofcontents \newpage

\mainmatter

\chapter{C1}

\section{S1}

\lipsum[1]

\end{document}

配置文件:

\Preamble{xhtml}
\Css{h3.sectionHead{font-style:italic;font-weight:normal;}}
\begin{document}

\EndPreamble

使用 Texlive 2018 上当前版本的 tex4ebook 时,电子书中的章节标题格式不正确:

电子书图片

目录中的章节链接也有错误。

有办法解决这个问题吗?谢谢。

答案1

此问题是由最近的 memoir 更新引起的,因为它不再包含mempatch.sty包。tex4ht过去曾包含此包的一些配置,它们修复了部分和段落。我已将这些配置直接包含在内memoir.4ht,它似乎有效。由于 TL 2018 更新需要几天时间,您可以尝试此版本。

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{%
   \gHAdvance\:mpNum by 1
\HAssign\minipageNum=\:mpNum \relax
%
   {\SkipRefstepAnchor \let\addcontentsline\:gobbleIII\no@chapter[#1]{}%
    \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}%
   {\SkipRefstepAnchor \let\addcontentsline\:gobbleIII \let\mark\:gobble
    \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}%
   {\SkipRefstepAnchor \let\addcontentsline\:gobbleIII \let\mark\:gobble
    \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
   {\def\addcontentsline####1####2####3{}%
    \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

输出现在看起来是正确的:

在此处输入图片描述

相关内容