我正在尝试将现有书籍从普通的 PDF 输出转换为电子书格式以便在线发布(并在此过程中进行一些重新格式化,但这是另一个问题)。
我的页面中有图片\part
(感谢@PeterWilson)。问题是这些图片没有出现在 tex4ebook 输出中,没有任何错误/警告。
我的书的完整(当前)标题如下:
\documentclass[10pt,ebook,italian,onecolumn,oneside,titlepage,extrafontsizes]{memoir}
\usepackage[italian]{babel}
\usepackage{graphicx}
\usepackage[utf8x]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{ucs}
\usepackage{makeidx}
\usepackage{quotmark}
\newcommand{\gqt}[1]{\tqt{\scshape #1}}
\newcommand{\stars}{\begin{center} * * *\\ \end{center}}
%
\makeatletter
\def\@partimage{}
\newcommand{\partimage}[2][]{\gdef\@partimage{\includegraphics[#1]{#2}}}
\renewcommand{\printparttitle}[1]{\parttitlefont #1\vfil\@partimage\vfil\gdef\@partimage{}}
\makeatother
%
\setlength\cftpartnumwidth{2em}
%
\author{Mauro Condarelli}
\title{Cronache della Nuova Terra}
\begin{document}
%
\frontmatter
\maketitle
%
\mainmatter
\chapterstyle{companion}
%\book{Cronache della Nuova Terra}
\tableofcontents
%
\partimage[width=210pt]{old_mage.jpg}
\part{In cerca di un Mondo Nuovo}
%
%
\chapter{La Missione}
%
%scene: 'Prologo I'
La Pianta non era certo imponente, somigliava a una verza troppo cresciuta, alta quasi un metro e mezzo e larga altrettanto, grandi foglie verde pallido sormontavano un tronco corto e tozzo dal quale partiva un robusto peduncolo che portava a una grossa zucca adagiata sulla sabbia pulita.\par
...
%end scene
%
%end chapter
%
\backmatter
\appendix
%
%
\end{document}
正如所说,问题是图像(在本例中为 old-mage.jpg)消失了,没有留下任何可见的痕迹。
我正在使用简单的:tex4ebook -c tex4book.cfg Cronache_della_Nuova_Terra.tex
来编译;内容tex4book.cfg
如下:
\Preamble{xhtml}
\CoverMetadata{thano.jpg}
\Configure{AddCss}{blitz-lite.css}
\DeclareGraphicsExtensions{.svg,.png,.jpg,.pdf}
\begin{document}
\EndPreamble
欢迎任何提示
答案1
tex4ht
重新定义所有分段命令,以便为所有 LaTeX 类提供统一的可配置接口。因此,\printparttitle
在 中不使用该命令tex4ht
。相反,可以在 的配置中打印图像\part
。尝试以下配置文件:
\Preamble{xhtml}
\CoverMetadata{thano.jpg}
\Configure{AddCss}{blitz-lite.css}
\makeatletter
\Configure{part}
{}{}
{\ifvmode\IgnorePar\fi\EndP\HCode{<h1 class="partHead"><span class="titlemark">}\partname \ \thepart \HCode{</span>}}
{\HCode{</h1>\Hnewline<aside class="partimage">}\@partimage\HCode{</aside>}\IgnoreIndent\par\OpfRegisterFile}
\makeatother
\Css{.partimage{margin:0 auto;text-align:center;}}
\Css{.partimage img{max-width:100\%;}}
\Css{.partHead .titlemark{display:block;}}
\DeclareGraphicsExtensions{.svg,.png,.jpg,.pdf}
\begin{document}
\EndPreamble
最重要的部分来自\Configure{part}
手册:
\Configure{单位} {顶部} {底部} {标题前} {标题后}
此命令确定要插入到指定单元所提及位置的内容。
\Configure{chapter} {\HCode{<div class="chapter">}} {\HCode{</div>}} {\HCode{<h2 class="chapterHead">}\chaptername ~\thechapter\HCode{<br />}} {\HCode{</h2>}}
因此我们在顶部插入图像:
\ifvmode\IgnorePar\fi\EndP\HCode{<aside class="partimage">}\@partimage\HCode{</aside>}
\ifvmode\IgnorePar\fi\EndP
这对于正确获取段落是必要的,然后\HCode{<aside class="partimage">}\@partimage\HCode{</aside>}
打印元素内的图像<aside class="partimage">
。这使我们能够使用 CSS 样式来设置其样式,如命令中所示\Css
。
此\OpfRegisterFile
命令对于正确的页面序列是必需的。此命令由提供tex4ebook
并将当前 HTML 文件注册到页面序列。否则,带有部分标题的页面将显示在文件末尾。
结果如下: