
Ich verwende skak, um ein schönes Schachbuch im PDF-Format zu erstellen. Leider kann Amazon Kindle PDF nicht gut importieren. Daher muss ich ein Kindle-freundliches Buchformat wie epub erstellen.
Ist es möglich, dasselbe Latex-Quelldokument zum Generieren von EPUB zu verwenden? Wenn nicht, gibt es ein anderes Latex-Paket, mit dem sich EPUB-Dokumente für ein Schachbuch generieren lassen?
Hier ist das Mindestbeispieldokument:
\documentclass[a4paper,11pt,oneside]{book}
\usepackage[utf8]{inputenc}
\usepackage{hyperref}
\hypersetup{
colorlinks=true,
linkcolor=[RGB]{41,41,41},
filecolor=magenta,
urlcolor=cyan,
pdftitle={Chess},
bookmarks=true,
}
\usepackage[ps]{skak}
\showmoverOn
\begin{document}
\frontmatter
\title{My title}
\maketitle
\tableofcontents
\mainmatter
\author{Sudheer}
\chapter{Introduction}
\newgame
\mainline{1.e4 c5 2.Nf3 g6 3.Bc4 Bg7 4.Ng5 e6}
\showboard
\end{document}
Ich kompiliere mit diesen Schritten:
latex minimum.tex
dvips minimum.dvi
ps2pdf minimum.ps
Antwort1
Sie können es verwenden, tex4ebook
um die ePub
oder mobi
E-Books zu erstellen. Es wird tex4ht
für die Konvertierung verwendet. tex4ht
unterstützt skak
das Paket nicht sofort, ist aber leicht konfigurierbar, sodass wir die Unterstützung selbst hinzufügen können.
Es gibt zwei Dinge, die angesprochen werden müssen: die Schachfiguren im Text und die Schachbretter. Die Schachfiguren können als Unicode-Zeichen konvertiert werden, die Schachbretter müssen als Bilder konvertiert werden.
Die Abbildungen verwenden eine spezielle Schriftart, die in konfiguriert werden muss tex4ht
. Speichern Sie den folgenden Text unter SkakNew.htf
und legen Sie ihn in das Verzeichnis mit Ihrem Dokument:
SkakNew 32 121
'' '' 32
'!' '' 33
'”' '' 34
'#' '' 35
'$' '' 36
'%' '' 37
'&' '' 38
'’' '' 39
'(' '' 40
')' '' 41
'*' '' 42
'+' '' 43
',' '' 44
'-' '' 45
'.' '' 46
'/' '' 47
'0' '' 48
'1' '' 49
'2' '' 50
'3' '' 51
'4' '' 52
'5' '' 53
'6' '' 54
'7' '' 55
'8' '' 56
'9' '' 57
':' '' 58
';' '' 59
'¡' '' 60
'=' '' 61
'¿' '' 62
'?' '' 63
'@' '' 64
'→' '' 65
'♗' '' 66
'↑' '' 67
'⊙' '' 68
'△' '' 69
'□' '' 70
'⇗' '' 71
'⇔' '' 72
'⊞' '' 73
'╳' '' 74
'♔' '' 75
'⟂' '' 76
'≪' '' 77
'♘' '' 78
'≫' '' 79
'Ⅱ' '' 80
'♕' '' 81
'♖' '' 82
'>' '' 83
'⊕' '' 84
'○' '' 85
'⇆' '' 86
'W' '' 87
'×' '' 88
'Y' '' 89
'Z' '' 90
'[' '' 91
'“' '' 92
']' '' 93
'ˆ' '' 94
'˙' '' 95
'‘' '' 96
'⧉' '' 97
'⌓' '' 98
'±' '' 99
'⦂' '' 100
'∓' '' 101
'⩲' '' 102
'⩱' '' 103
'h' '' I cannot find it, it is plus followed by minus
'i' '' minus followed by plus
'=' '' 106
'k' '' 107
'l' '' 108
'#' '' 109
'n' '' 110
'o' '' 111
'p' '' 112
'q' '' 113
'r' '' 114
's' '' 115
't' '' 116
'u' '' 117
'v' '' 118
'w' '' 119
'x' '' 120
'y' '' 121
SkakNew 32 121
Die Bilder für Schachbretter können mit der folgenden Konfiguration angefordert werden. Speichern Sie sie unter skak.4ht
und speichern Sie sie auch im Verzeichnis Ihres Dokuments:
\NewConfigure{SkakBoard}{2}
\pend:def\showboard{\a:SkakBoard}
\append:def\showboard{\b:SkakBoard}
\Configure{SkakBoard}{\Picture+{}}{\EndPicture}
\endinput
Es werden lediglich Befehle gepatcht, \showboard
um spezielle tex4ht
Befehle einzuschließen, die eingeschlossene Inhalte in Bilder umwandeln.
Sie können Ihr Dokument mit dem folgenden Befehl kompilieren mobi
. Beachten Sie, dass Sie Folgendes installiert haben müssen kindlegen
:
tex4ebook -f mobi minimum.tex
Das Ergebnis ist wie folgt und wird in Calibre angezeigt:
Um eine bessere Bildqualität zu erhalten, können Sie versuchen, der skak.4ht
Datei (vorher \endinput
) folgende Zeile hinzuzufügen:
\Configure{Picture}{.svg}
Es werden die Grafiken im folgenden svg
Format angefordert:
Eine letzte Anmerkung: Ich habe eine ungültige ePub
Datei erhalten, da Sie \author
„after“ verwendet haben maketitle
. Sie sollten es davor einfügen.
Bearbeiten:
Wenn Sie mehrere Befehle verwenden möchten, die auf einer Leinwand drucken, müssen Sie sie in eine benutzerdefinierte Umgebung einschließen, deren Inhalt als Bild konvertiert wird:
\documentclass[a4paper,11pt,oneside]{book}
\usepackage[utf8]{inputenc}
\usepackage{hyperref}
\hypersetup{
colorlinks=true,
linkcolor=[RGB]{41,41,41},
filecolor=magenta,
urlcolor=cyan,
pdftitle={Chess},
bookmarks=true,
}
\usepackage[ps]{skak}
\showmoverOn
\newenvironment{mymoves}{}{}
\begin{document}
\frontmatter
\title{My title}
\author{Sudheer}
\maketitle
\tableofcontents
\mainmatter
\chapter{Introduction}
\newgame
\mainline{1.e4 c5 2.Nf3 g6 3.Bc4 Bg7 4.Ng5 e6}
\begin{mymoves}
\showboard
\printarrow{a1}{a8}
\end{mymoves}
\end{document}
Der wichtige Teil hier ist:
\begin{mymoves}
\showboard
\printarrow{a1}{a8}
\end{mymoves}
mymoves
Sie können die Umgebung in der Konfigurationsdatei konfigurieren :
\Preamble{xhtml}
\Configure{Picture}{.svg}
\ConfigureEnv{mymoves}{\Picture*{}}{\EndPicture}{}{}
\begin{document}
\EndPreamble
Beachten Sie, dass dieses Beispiel offenbar die SVG-Ausgabe verwenden muss, da dvipng
einige PostScript-Formate offenbar nicht unterstützt werden.
Das Ergebnis: