É possível usar o pacote skak para gerar documentos no formato epub ou mobi?

É possível usar o pacote skak para gerar documentos no formato epub ou mobi?

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 tex4ebookpara criar o ePubou mobie-books. Ele usa tex4htpara a conversão. tex4htnão suporta skakpacote 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.htfe 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.4hte 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 \showboardpara incluir tex4htcomandos especiais que convertem o conteúdo incluído em imagens.

Você pode compilar seu documento mobiusando o seguinte comando. Observe que você precisa ter kindlegeninstalado:

 tex4ebook -f mobi  minimum.tex

O resultado é o seguinte, mostrado no Calibre:

insira a descrição da imagem aqui

Para obter melhor qualidade de imagem, você pode tentar adicionar a seguinte linha ao skak.4htarquivo (antes \endinput):

\Configure{Picture}{.svg}

Irá solicitar os gráficos no svgformato:

insira a descrição da imagem aqui

Uma última observação: recebi ePubum arquivo inválido porque você usou \authorafter 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 mymovesambiente 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 dvipngnão suporta alguns PostScript.

O resultado:

insira a descrição da imagem aqui

informação relacionada