skak パッケージを使用して epub または mobi 形式のドキュメントを生成することは可能ですか?

skak パッケージを使用して epub または mobi 形式のドキュメントを生成することは可能ですか?

私は skak を使用して、美しいチェス ブックを PDF 形式で生成しています。残念ながら、Amazon Kindle では PDF がうまくインポートされません。そのため、epub などの Kindle に適した形式の本を作成する必要があります。

同じ LaTeX ソース ドキュメントを使用して EPUB を生成することは可能ですか? 不可能な場合、チェス ブックの EPUB ドキュメントを生成するのに役立つ他の LaTeX パッケージはありますか?

最小限のサンプルドキュメントは次のとおりです。

\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}

以下の手順でコンパイルしています:

 latex minimum.tex 
 dvips minimum.dvi 
 ps2pdf minimum.ps

答え1

または電子書籍のtex4ebook作成に使用できます。 は変換に使用します。はすぐに使用できるパッケージをサポートしていませんが、簡単に構成できるため、自分でサポートを追加できます。ePubmobitex4httex4htskak

対処する必要があるのは、テキスト内のチェスの数字とチェス盤の 2 つです。チェスの数字は Unicode 文字として変換できますが、チェス盤は画像として変換する必要があります。

図には特殊なフォントが使用されているため、 で設定する必要がありますtex4ht。次のテキストを として保存しSkakNew.htf、ドキュメントと同じディレクトリに配置します。

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

チェス ボードの画像は、次の設定でリクエストできます。名前を付けて保存しskak.4ht、ドキュメントのディレクトリにも保存します。

\NewConfigure{SkakBoard}{2}

\pend:def\showboard{\a:SkakBoard}
\append:def\showboard{\b:SkakBoard}

\Configure{SkakBoard}{\Picture+{}}{\EndPicture}

\endinput

囲まれたコンテンツを画像として変換する\showboard特別なコマンドを含めるようにコマンドにパッチを当てるだけです。tex4ht

mobi以下のコマンドを使用してドキュメントをコンパイルできます。以下kindlegenがインストールされている必要があることに注意してください:

 tex4ebook -f mobi  minimum.tex

結果は Calibre で次のように表示されます。

ここに画像の説明を入力してください

より良い画質を得るには、ファイルに次の行を追加してみてくださいskak.4ht( の前\endinput)。

\Configure{Picture}{.svg}

次の形式でグラフィックを要求しますsvg

ここに画像の説明を入力してください

最後に注意: after をePub使用したため無効なファイルを取得しました。 before を配置する必要があります。\authormaketitle

編集:

1 つのキャンバスに印刷するコマンドをさらに使用したい場合は、その内容が画像として変換されるカスタム環境でそれらを囲む必要があります。

\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}

ここで重要なのは次の部分です:

\begin{mymoves}
\showboard
\printarrow{a1}{a8}
\end{mymoves}

mymoves設定ファイルで環境を設定できます:

\Preamble{xhtml}
\Configure{Picture}{.svg}
\ConfigureEnv{mymoves}{\Picture*{}}{\EndPicture}{}{}
\begin{document}

\EndPreamble

このサンプルでは SVG 出力を使用する必要があるようですが、dvipng一部の PostScript はサポートされていないようです。

結果:

ここに画像の説明を入力してください

関連情報