Ist es möglich, mit dem Skak-Paket Dokumente im EPUB- oder MOBI-Format zu erstellen?

Ist es möglich, mit dem Skak-Paket Dokumente im EPUB- oder MOBI-Format zu erstellen?

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, tex4ebookum die ePuboder mobiE-Books zu erstellen. Es wird tex4htfür die Konvertierung verwendet. tex4htunterstützt skakdas 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.htfund 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.4htund 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, \showboardum spezielle tex4htBefehle 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:

Bildbeschreibung hier eingeben

Um eine bessere Bildqualität zu erhalten, können Sie versuchen, der skak.4htDatei (vorher \endinput) folgende Zeile hinzuzufügen:

\Configure{Picture}{.svg}

Es werden die Grafiken im folgenden svgFormat angefordert:

Bildbeschreibung hier eingeben

Eine letzte Anmerkung: Ich habe eine ungültige ePubDatei 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}

mymovesSie 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 dvipngeinige PostScript-Formate offenbar nicht unterstützt werden.

Das Ergebnis:

Bildbeschreibung hier eingeben

verwandte Informationen