
Utilizo skak para generar un hermoso libro de ajedrez en formato PDF. Desafortunadamente, Amazon Kindle no importa bien el PDF. Entonces, tengo que hacer un libro con formato compatible con Kindle, como epub.
¿Es posible utilizar el mismo documento fuente de látex para generar epub? Si no es así, ¿existe algún otro paquete de látex que pueda ayudar a generar un documento epub para un libro de ajedrez?
Aquí está el documento de muestra mínimo:
\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}
Estoy compilando siguiendo estos pasos:
latex minimum.tex
dvips minimum.dvi
ps2pdf minimum.ps
Respuesta1
Puede utilizar tex4ebook
para crear libros electrónicos ePub
o mobi
. Se utiliza tex4ht
para la conversión. tex4ht
no admite skak
el paquete listo para usar, pero es fácilmente configurable, por lo que podemos agregar el soporte nosotros mismos.
Hay dos cosas que es necesario abordar: las figuras de ajedrez en el texto y los tableros de ajedrez. Las figuras de ajedrez se pueden convertir como caracteres Unicode, los tableros de ajedrez se deben convertir como imágenes.
Las figuras utilizan una fuente especial, que debe configurarse en formato tex4ht
. Guarde el siguiente texto como SkakNew.htf
y colóquelo en el directorio con su documento:
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
Las imágenes para tableros de ajedrez se pueden solicitar con la siguiente configuración. Guárdelo como skak.4ht
y guárdelo también en el directorio de su documento:
\NewConfigure{SkakBoard}{2}
\pend:def\showboard{\a:SkakBoard}
\append:def\showboard{\b:SkakBoard}
\Configure{SkakBoard}{\Picture+{}}{\EndPicture}
\endinput
Simplemente parchea el comando \showboard
para incluir tex4ht
comandos especiales que convierten el contenido adjunto en imágenes.
Puede compilar su documento mobi
utilizando el siguiente comando. Tenga en cuenta que necesita tener kindlegen
instalado:
tex4ebook -f mobi minimum.tex
El resultado es el siguiente, mostrado en Calibre:
Para obtener una mejor calidad de imagen, puede intentar agregar la siguiente línea al skak.4ht
archivo (antes \endinput
):
\Configure{Picture}{.svg}
Solicitará los gráficos en el svg
formato:
Una última nota: obtuve ePub
un archivo no válido porque usaste \author
after maketitle
, deberías ponerlo antes.
Editar:
Si desea utilizar más comandos que se imprimen en un lienzo, debe incluirlos en un entorno personalizado, cuyo contenido se convertirá como una imagen:
\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}
La parte importante aquí es:
\begin{mymoves}
\showboard
\printarrow{a1}{a8}
\end{mymoves}
Puede configurar el mymoves
entorno en el archivo de configuración:
\Preamble{xhtml}
\Configure{Picture}{.svg}
\ConfigureEnv{mymoves}{\Picture*{}}{\EndPicture}{}{}
\begin{document}
\EndPreamble
Tenga en cuenta que parece que este ejemplo necesita usar la salida SVG, parece que dvipng
no es compatible con algunos PostScript.
El resultado: