@michal.h21 EDIT2:我更新了所有存储库https://github.com/michal-h21。它起作用了。我编辑了代码,但它不起作用
这是我做的。我复制你的cfg.cfg
,我创建myfile.tex
并运行
tex4ebook -l -f epub -m -t myfile.tex
这是简单的代码
\documentclass{article}
\makeatletter
\def\subsubsubsection{%
\penalty-9999
\@startsection{paragraph}{4}{0em}{0.1\parskip}{1em}{%
\small\rmfamily\mdseries\itshape}
}
\makeatother
\setcounter{secnumdepth}{5}
\setcounter{tocdepth}{5}
\begin{document}
\tableofcontents
\section{first seciton}
\subsection{first subsection}
\subsubsection{first subSUBsection}
\subsubsubsection{first subSUBsubsection}
my subsubsubsection here
\paragraph{first para}
werfj
\section{second section}
\section{third seciton}
\end{document}
现在运行良好。
答案1
要求相当多,我希望我没有忘记任何东西。我已将您的代码从 TeX 文件移至文件.cfg
,这样更灵活。您还需要开发版本tex4ebook
,因为发行版中的版本有固定级别的部分,这些部分会转到NCX
文件(它在侧面菜单中使用)。
\Preamble{xhtml,sections+}
\NewSection\subsubsubsection{\theparagraph}
\Configure{subsubsubsection}
{\ifvmode\IgnorePar\fi\EndP\IgnorePar\Tg<subsubsubsection id="subsubsubsection.\theparagraph">}
{\ifvmode\IgnorePar\fi\EndP\IgnorePar\Tg</subsubsubsection>}
{\addtocounter{paragraph}{1}
\HCode{<font size="+0">}%
\NoFonts\HCode{<span class="it">}%
\TitleMark%
\HCode{\Hnewline}}%
{\HCode{</span>}\EndNoFonts%
\HCode{</font>}%
\HCode{\Hnewline}%
\par\IgnoreIndent\ShowPar%
}
\Css{span.it{font-style:italic;}}
\ConfigureMark{subsubsubsection}{\theparagraph~@@@~}
\Configure{toToc}{subsubsubsection}{paragraph}
\ConfigureToc{paragraph}
{~~~\HCode{<span class="paragraphToc" >}}{~@@@~}{}{\HCode{</span>}\HCode{<br />\Hnewline}}
% \ConfigureToc{subsubsubsection}
% {~~~\HCode{<span class="subsubsubsectionToc" >}}{~@@@~}{}{\HCode{</span>}\HCode{<br />\Hnewline}}
\def\newncxtox#1#2{%
\ConfigureToc{#1}%
{\closelevels{#2}%
\csname a:NavSection\endcsname\csname Ncx:Mark\endcsname}
{\csname c:NavSection\endcsname~@@@~}
{}
{\csname b:NavSection\endcsname%
\finishtoclevel{#1}%
}
}
\begin{document}
\expandafter\def\csname ncx:title\endcsname{%
\HCode{<docTitle>\Hnewline<text>}\Title\HCode{</text>\Hnewline</docTitle>\Hnewline}
\newncxtox{paragraph}{paragraph}
}
\EndPreamble
让我们深入研究一下代码:
\Preamble{xhtml,sections+}
您将通过sections+
选项获得部分链接。
\ConfigureMark{subsubsubsection}{\theparagraph~@@@~}
\Configure{toToc}{subsubsubsection}{paragraph}
第一个配置将在子子子节计数器后添加@@@
,第二个配置将使用配置将其包含在目录中\paragraph
。因此\ConfigureToc{paragraph}
这两个命令都有效。
\def\newncxtox#1#2{%
\ConfigureToc{#1}%
{\closelevels{#2}%
\typeout{konfigurujeme nxc title #1, - #2}
\csname a:NavSection\endcsname\csname Ncx:Mark\endcsname}
{\csname c:NavSection\endcsname~@@@~}
{}
{\csname b:NavSection\endcsname%
\finishtoclevel{#1}%
}
}
\begin{document}
\expandafter\def\csname ncx:title\endcsname{%
\HCode{<docTitle>\Hnewline<text>}\Title\HCode{</text>\Hnewline</docTitle>\Hnewline}
\newncxtox{paragraph}{paragraph}
}
@@@
这是一个让你进入文件的卑鄙手段NCX
,通常无法配置。该\newnctox
命令模仿内部tex4ebook
命令,负责确保NCX
文件中条目的正确层次结构。它是与当前部分处于同一级别或较低级别的条目列表。由于\subsubsubsection
配置为\paragraph
并且因为它是层次结构的最低部分,因此结束列表中的唯一元素是它paragraph
本身。
以下是一些结果:
以及文件:
最后,电子书查看器: