3: 2019-02-19 (火) 23:36:10 yuji Attached file: python372jp.chm, Deleted an attach file: python372jp.chm at 2019-02-21 (木) 13:46:13 |
現: 2020-12-26 (土) 16:07:39 yuji Attached file: python372jp.chm |
||
---|---|---|---|
Line 25: | Line 25: | ||
Pythonのドキュメントを作成するのに,Pythonのソースコードにドキュメントのソースも含まれているので必要になる。 | Pythonのドキュメントを作成するのに,Pythonのソースコードにドキュメントのソースも含まれているので必要になる。 | ||
- | Pythonの[[公式サイト>https://www.python.org/]]から,Pythonのソースコードをダウンロードする。これは,日本語翻訳されたドキュメントのリソースを含んではいない。~ | + | Pythonの[[公式サイト>https://www.python.org/]]から,Pythonのソースコード(ドキュメントも含んでいる)をダウンロードする。これには,日本語翻訳されたドキュメントのリソースを含んではいない。~ |
適当な作業ディレクトリで解凍する。 | 適当な作業ディレクトリで解凍する。 | ||
> wget https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tgz | > wget https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tgz | ||
Line 38: | Line 38: | ||
** Sphinxの設定ファイルを修正 [#e1844232] | ** Sphinxの設定ファイルを修正 [#e1844232] | ||
- | Sphinxを使用して日本語ドキュメントが出力されるように,''conf.py''ファイルのGeneral configurationのどこかに,以下の追加・修正をする。 | + | Sphinxを使用して日本語ドキュメントが出力されるように,''conf.py''ファイルの''General configuration''のどこかに,以下の追加・修正をする。 |
language = 'ja' | language = 'ja' | ||
locale_dirs = ['locale/'] | locale_dirs = ['locale/'] | ||
Line 47: | Line 47: | ||
** 翻訳済みリソースをTransifexからダウンロードする [#sb5a1327] | ** 翻訳済みリソースをTransifexからダウンロードする [#sb5a1327] | ||
- | Pythonの[[公式サイト>https://www.python.org/]]からのソースコードには日本語化したドキュメントが入っていないので, Pythonドキュメントプロジェクト [[transifex>https://www.transifex.com/python-doc/]] で日本語の翻訳作業が行われているので,そこから日本語訳リソースをダウンロードする。 | + | Pythonの[[公式サイト>https://www.python.org/]]からのソースコードには日本語化したドキュメントが入っていない。Pythonドキュメントプロジェクト [[transifex>https://www.transifex.com/python-doc/]] で日本語の翻訳作業が行われているので,そこから日本語訳リソースをダウンロードする。 |
- | Pythonドキュメントプロジェクト [[transifex>https://www.transifex.com/python-doc/]] に参加して,翻訳作業を行うことが出来る。(翻訳作業は大変な労力が必要なので多くの人の協力が必要。参加したい。) | + | Pythonドキュメントプロジェクト [[transifex>https://www.transifex.com/python-doc/]] に参加して,翻訳作業を行うことが出来る。翻訳作業は大変な労力が必要なので多くの人の協力が必要。参加したいなぁ。 |
Pythonドキュメント日本語訳プロジェクトのリソースを使う場合は,[[transifex>https://www.transifex.com/]]のアカウントを作成する必要はない。 | Pythonドキュメント日本語訳プロジェクトのリソースを使う場合は,[[transifex>https://www.transifex.com/]]のアカウントを作成する必要はない。 | ||
- | まず,[[transifex>https://www.transifex.com/]] でアカウントを作成する。アカウントが作成できたらAPIキーを作成しておく。(翻訳者として登録しない場合は,アカウントを使用できるのは''15日間''。)~ | + | まず,[[transifex>https://www.transifex.com/]] でアカウントを作成する。アカウントが作成できたらAPIキーを作成しておく。翻訳者として登録しない場合は,アカウントを使用できるのは''15日間''。~ |
''~/.transifexrc''ファイルを以下の内容で作成する。 | ''~/.transifexrc''ファイルを以下の内容で作成する。 | ||
[https://www.transifex.com] | [https://www.transifex.com] | ||
Line 67: | Line 67: | ||
翻訳するための設定ファイル.tx/configファイルを作成する。 | 翻訳するための設定ファイル.tx/configファイルを作成する。 | ||
> cd locale | > cd locale | ||
- | > create-txconfig | + | > sphinx-intl create-txconfig |
+ | |||
Pythonドキュメントソースからメッセージカタログ(.pot)ファイルを作成する。~ | Pythonドキュメントソースからメッセージカタログ(.pot)ファイルを作成する。~ | ||
+ | > cd .. | ||
> sphinx-build -b gettext . locale/pot | > sphinx-build -b gettext . locale/pot | ||
翻訳するための設定ファイル.tx/configファイルをpotファイル情報で更新する。 | 翻訳するための設定ファイル.tx/configファイルをpotファイル情報で更新する。 | ||
+ | > cd locale | ||
> sphinx-intl update-txconfig-resources --pot-dir pot --transifex-project-name="python-newest" | > sphinx-intl update-txconfig-resources --pot-dir pot --transifex-project-name="python-newest" | ||
- | > awk '/file_filter/{sub("locales/","");print $0} !/file_filter/{print $0}' .tx /config > .tx/config.2 | + | > awk '/file_filter/{sub("locales/","");print $0} !/file_filter/{print $0}' .tx/config > .tx/config.2 |
> cp .tx/config.2 .tx/config | > cp .tx/config.2 .tx/config | ||
> rm .tx/config.2 | > rm .tx/config.2 | ||
Line 103: | Line 105: | ||
* Windowsのヘルプファイルchmを作成する [#s57c9c9b] | * Windowsのヘルプファイルchmを作成する [#s57c9c9b] | ||
- | HTMLのドキュメントが作成出来ていれば,Windowsで使われるヘルプファイルである.chmファイルを作成できる。 | + | HTMLのドキュメントが作成出来れば,Windowsで使われるヘルプファイルである.chmファイルを作成できる。 |
作成するには,Microsoftの [[HTML Help Workshop>https://www.microsoft.com/en-us/download/details.aspx?id=21138]] が必要になる。 | 作成するには,Microsoftの [[HTML Help Workshop>https://www.microsoft.com/en-us/download/details.aspx?id=21138]] が必要になる。 | ||
Line 112: | Line 114: | ||
Doc\build\htmlhelpに,HTMLファイルとpythonxxx.hhp,pythonxxx.hhc,pythonxxx.hhk,pythonxxx.stpが作成されている。 | Doc\build\htmlhelpに,HTMLファイルとpythonxxx.hhp,pythonxxx.hhc,pythonxxx.hhk,pythonxxx.stpが作成されている。 | ||
- | pythonxxx.hhpをダブルクリックしてHTML Help Workshopを起動しコンパイルすれば,Doc\build\htmlにpythonxxx.chmファイルが作成される。 | + | ''pythonxxx.hhp''をダブルクリックしてHTML Help Workshopを起動しコンパイルすれば,Doc\build\htmlにpythonxxx.chmファイルが作成される。 |
この時,locale以下に翻訳リソースがない場合,''build/htmlhelp''ディレクトリには英語のHTMLファイルがセットされてしまう。当然,HTML Help Workshopでコンパイルしても日本語ヘルプファイルにはならない。~ | この時,locale以下に翻訳リソースがない場合,''build/htmlhelp''ディレクトリには英語のHTMLファイルがセットされてしまう。当然,HTML Help Workshopでコンパイルしても日本語ヘルプファイルにはならない。~ | ||
- | もし日本語化されたHTMLファイルが''build\html''にある場合,''build\htmlhelp''出来たpythonxxx.hhp,pythonxxx.hhc,pythonxxx.hhk,pythonxxx.stpを,''build\html''にコピーして''build\html''のpythonxxx.hhpをダブルクリックしてHTML Help Workshopを起動しコンパイルすれば,ほぼ日本語化されたpythonxxx.chmファイルが作成することもできる。 | + | もし日本語化されたHTMLファイルが''build\html''にある場合,''build\htmlhelp''出来たpythonxxx.hhp,pythonxxx.hhc,pythonxxx.hhk,pythonxxx.stpを,''build\html''にコピーして''build\html''のpythonxxx.hhpをダブルクリックしてHTML Help Workshopを起動しコンパイルすれば,ほぼ日本語化されたpythonxxx.chmファイルを作成することもできる。 |
* LaTeXを使ってPDFファイルを作成する [#dac558c6] | * LaTeXを使ってPDFファイルを作成する [#dac558c6] | ||
Line 122: | Line 124: | ||
この場合,LaTeX([[W32Tex>https://texwiki.texjp.org/?W32TeX]]を使ってる)やその他の周辺ツール,スタイルファイルなどが必要になる。 | この場合,LaTeX([[W32Tex>https://texwiki.texjp.org/?W32TeX]]を使ってる)やその他の周辺ツール,スタイルファイルなどが必要になる。 | ||
- | 設定ファイル''conf.py''のOptions for LaTeX outputで,使用するエンジン''xelatex''をコメントアウトする。 | + | 設定ファイル''conf.py''の''Options for LaTeX output''で,使用するエンジン''xelatex''をコメントアウトする。 |
#latex_engine = 'xelatex' | #latex_engine = 'xelatex' | ||
- | デフォルトの''platex''を使うようにする。 | + | これは,デフォルトの''platex''を使うようにするため。 |
- | Sphinxのクラスにhowtoとmanualがあって,howtoが短い文書,manualが長い文書に利用されるようだ。~ | + | Sphinxのクラスにhowtoとmanualがあって,howtoが短い文書,manualが長い文書に利用されているようだ。~ |
使用するドキュメントクラスは,デフォルト設定のhowtoに''jreport'',manualに''jsbook''が使われる。変更したい場合は, | 使用するドキュメントクラスは,デフォルト設定のhowtoに''jreport'',manualに''jsbook''が使われる。変更したい場合は, | ||
latex_docclass = {"howto": "jsreport", "manual": "jsbook"} | latex_docclass = {"howto": "jsreport", "manual": "jsbook"} | ||
のように設定する。 | のように設定する。 | ||
- | ''conf.py''ファイルのプリアンプル''latex_elements['preamble']''に,以下のように追加する。 | + | Pythonのドキュメントには,İ (U+0130), ı (U+0131), ſ (U+017F), K (U+212A), Ü (U+00DC), ü (U+00FC) , Є (U+0404) の非ASCii文字が含まれている。~ |
+ | これらをPDFで出力するために,''conf.py''のプリアンプル''latex_elements['preamble']''に,以下のように追加する。 | ||
latex_elements['preamble'] = r''' | latex_elements['preamble'] = r''' | ||
\authoraddress{ | \authoraddress{ | ||
Line 139: | Line 142: | ||
\let\Verbatim=\OriginalVerbatim | \let\Verbatim=\OriginalVerbatim | ||
\let\endVerbatim=\endOriginalVerbatim | \let\endVerbatim=\endOriginalVerbatim | ||
+ | \usepackage[TS1,T1,T2A]{fontenc} | ||
+ | \usepackage{lmodern} | ||
\usepackage[utf8]{inputenc} | \usepackage[utf8]{inputenc} | ||
- | \DeclareUnicodeCharacter{00DC}{\={U}} | + | \usepackage{babel} |
- | \DeclareUnicodeCharacter{00FC}{\={u}} | + | \DeclareUnicodeCharacter{212A}{\ensuremath{\mathrm{K}}} |
- | \DeclareUnicodeCharacter{0130}{\={I}} | + | \DeclareUnicodeCharacter{017F}{{\fontencoding{TS1}\selectfont s}} |
- | \DeclareUnicodeCharacter{0131}{\={i}} | + | \DeclareUnicodeCharacter{0404}{\fontencoding{T2A}\CYRIE} |
- | \DeclareUnicodeCharacter{017F}{\={s}} | + | ''' |
- | \DeclareUnicodeCharacter{0404}{\={e}} | + | //ただ,Є (U+0404) を表示する仕方がわからない。しょうがないんで,この文字はεでドキュメントのソースコード(locale\ja\LC_MESSAGES\whatsnew\3.7.po)を修正した。 |
- | \DeclareUnicodeCharacter{212A}{\={K}} | + | |
- | : | + | いくつかの.texファイル(library.tex,howto-logging.tex,using.tex)で,画像を読み込んでいるところでエラーが出るので,''conf.py''の''Options for LaTeX output''に,以下を追加する。 |
- | : | + | |
- | いくつかの.texファイル(library.tex,howto-logging.tex,using.tex)で,画像を読み込んでいるところでエラーが出るので,''conf.py''のOptions for LaTeX outputに,以下を追加する。 | + | |
latex_elements['passoptionstopackages'] = r''' | latex_elements['passoptionstopackages'] = r''' | ||
\usepackage[dvipdfmx]{graphicx} | \usepackage[dvipdfmx]{graphicx} |