
Eu uso o skak para gerar um lindo livro de xadrez em formato PDF. Infelizmente, o Amazon Kindle não importa bem o PDF. Então, eu tenho que fazer um livro formatado para Kindle, como epub.
É possível usar o mesmo documento fonte de látex para gerar epub? Caso contrário, existe algum outro pacote de látex que possa ajudar a gerar um documento epub para um livro de xadrez?
Aqui está o documento de amostra 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}
Estou compilando usando estas etapas:
latex minimum.tex
dvips minimum.dvi
ps2pdf minimum.ps
Responder1
Você pode usar tex4ebook
para criar o ePub
ou mobi
e-books. Ele usa tex4ht
para a conversão. tex4ht
não suporta skak
pacote pronto para uso, mas é facilmente configurável, então podemos adicionar o suporte nós mesmos.
Há duas coisas que precisam ser abordadas: as figuras de xadrez no texto e os tabuleiros de xadrez. As figuras de xadrez podem ser convertidas como caracteres Unicode, os tabuleiros de xadrez devem ser convertidos como imagens.
As figuras utilizam uma fonte especial, que precisa ser configurada no formato tex4ht
. Salve o seguinte texto como SkakNew.htf
e coloque-o no diretório com o seu 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
As imagens para tabuleiros de xadrez podem ser solicitadas com a seguinte configuração. Salve-o como skak.4ht
e salve-o também no diretório do seu documento:
\NewConfigure{SkakBoard}{2}
\pend:def\showboard{\a:SkakBoard}
\append:def\showboard{\b:SkakBoard}
\Configure{SkakBoard}{\Picture+{}}{\EndPicture}
\endinput
Ele apenas corrige o comando \showboard
para incluir tex4ht
comandos especiais que convertem o conteúdo incluído em imagens.
Você pode compilar seu documento mobi
usando o seguinte comando. Observe que você precisa ter kindlegen
instalado:
tex4ebook -f mobi minimum.tex
O resultado é o seguinte, mostrado no Calibre:
Para obter melhor qualidade de imagem, você pode tentar adicionar a seguinte linha ao skak.4ht
arquivo (antes \endinput
):
\Configure{Picture}{.svg}
Irá solicitar os gráficos no svg
formato:
Uma última observação: recebi ePub
um arquivo inválido porque você usou \author
after maketitle
, você deve colocá-lo antes dele.
Editar:
Se você quiser usar mais comandos que imprimam em uma tela, você precisa incluí-los em um ambiente customizado, cujo conteúdo será convertido como uma imagem:
\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}
A parte importante aqui é:
\begin{mymoves}
\showboard
\printarrow{a1}{a8}
\end{mymoves}
Você pode configurar o mymoves
ambiente no arquivo de configuração:
\Preamble{xhtml}
\Configure{Picture}{.svg}
\ConfigureEnv{mymoves}{\Picture*{}}{\EndPicture}{}{}
\begin{document}
\EndPreamble
Observe que parece que este exemplo precisa usar a saída SVG, parece que dvipng
não suporta alguns PostScript.
O resultado: