我想将一本包含大量公式和表格的科学书籍转换为epub3
。到目前为止,我已经阅读了所有带有标签并与之相关的帖子tex4ebook
,tex4ht
并且我已成功制作出一epub3
本公式看起来不错的书籍版本。
到目前为止我的命令是:
tex4ebook -f epub3 filename mathml
现在,假设我的 tex 有以下 tikzpicture(借用自这里)。
\begin{tikzpicture}
% Time axis
\draw (0,0) -- node[below=1cm] {Time $\to$} (6,0);
% Emotional axis
\draw (0,0) -- node[left] {\parbox{2cm}{\centering $\uparrow$ \\ Emotional \\ intensity}} (0,4);
% Time ticks
\foreach \x [count=\j] in {0.2,3,4.5,6} {
\draw (\x,0) coordinate (t\j) -- (\x,-0.1cm) node[below] (tt\j) {Time \j};
}
\node[below] at (tt1.south) {(Emotional event)};
% Curves
\draw (t1) .. controls +(1,2) .. node[above right] {Experienced} (t2);
\draw[dashed] (t1) .. controls +(1,4) .. node[above right] {Predicted} (t4);
\end{tikzpicture}
我无法(或者我不明白如何使用)来tex4ebook
让epub
包含上述图像。我应该在上一个命令中添加什么来tikzpicture
显示 ?我已成功完成所有相关标签中的所有说明tex4ebook
StackExchange
,并且能够生成例如包含上述图像pdf
的luatex
,但我不知道该怎么做才能使其与命令一起工作tex4ebook
。
有人能告诉我该采取什么步骤吗?谢谢
答案1
我将发布对原始问题和评论中附加问题的回答。一年前发布这些评论时我还没有看到它们。
那么,对于我的问题是,有没有办法将 mathml 和外部化结合起来?
外部化不会干扰 MathML,只是\includegraphics
从tex4ht
角度来看。您的代码的问题是sgame
包重新定义了用于表格处理的内部 LaTeX 命令,并且与 发生冲突tex4ht
。所以我们需要一个适当的配置文件才能使其工作。作为一种解决方法,也可以将其转换为图像。
这是一个完整的例子:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{tikz}
\usepackage{sgame}
\usetikzlibrary{external}
\tikzset{
external/system call/.add={}
; inkscape -z -f "\image.pdf" -l "\image.svg"
}
\makeatletter
\@ifpackageloaded{tex4ht}{
\tikzexternalize[mode=only graphics]
}{
\tikzexternalize
}
\makeatother
\begin{document}
\begin{tikzpicture}
% Time axis
\draw (0,0) -- node[below=1cm] {Time $\to$} (6,0);
% Emotional axis
\draw (0,0) -- node[left] {\parbox{2cm}{\centering $\uparrow$ \\ Emotional \\ intensity}} (0,4);
% Time ticks
\foreach \x [count=\j] in {0.2,3,4.5,6} {
\draw (\x,0) coordinate (t\j) -- (\x,-0.1cm) node[below] (tt\j) {Time \j};
}
\node[below] at (tt1.south) {(Emotional event)};
% Curves
\draw (t1) .. controls +(1,2) .. node[above right] {Experienced} (t2);
\draw[dashed] (t1) .. controls +(1,4) .. node[above right] {Predicted} (t4);
\end{tikzpicture}
Some equation:
\begin{equation} \label{eu_eqn}
e^{\pi i} + 1 = 0
\end{equation}
\begin{figure}[tbh]\hspace*{\fill}
\begin{game}{2}{2}[$t_1=S$] & $F$ & $NF$\\
$F$ &$1$, -$2$ &$2$, -$1$\\ $NF$ &-$1$, $2$ &$0, 0$ \\
\end{game}
\hspace*{10mm}
\begin{game}{2}{2}[$t_1=W$] & $F$ & $NF$\\ $F$
&-$1,1$ &$2$, -$1$ \\ $NF$ &$0, 2$ &$0, 0$\\
\end{game}\hspace*{\fill}%
\caption[]{\textit{A game with incomplete information}}
\end{figure}
\begin{tabular}{ll}
And what about & normal table?\\
\end{tabular}
\end{document}
我们在序言中设置了基本externalization
内容。遗憾的是,我们无法消除 的歧义\tikzexternalize
。
配置文件包含SVG
包含的代码、tex4ht
外部化的配置以及将环境转换为图片的请求game
:
\Preamble{xhtml,mathml}
\makeatletter
\Configure{graphics*}
{svg}{
{\Configure{Needs}{File: \[email protected]}\Needs{}}
\Picture[\csname a:GraphicsAlt\endcsname]{\csname Gin@base\endcsname.svg \csname a:Gin-dim\endcsname}%
}
\makeatother
\ConfigureEnv{game}{\Picture+{}}{\EndPicture}{}{}
\begin{document}
\tikzset{
tex4ht inc/.style={
/pgf/images/include external/.code={%
\includegraphics[]{##1.svg}%
}
}
}
\tikzset{tex4ht inc}
\EndPreamble
您可以使用以下方式编译该文档
tex4ebook -f epub3 -c mycfg.cfg filename.tex