天地有情

[LaTeX][LuaLaTeX]  PDF「日本語しおり」の作り方 ~備忘録~


PDF「日本語しおり」の作り方 ~備忘録~

PDFにおいて,「日本語しおり」は文字化けが生じる不具合などが
見受けられる場合がありましが,支援パッケージ(pxjahyper.sty)
などで解消していると思われます.
以下は,備忘録です.

§1.(u)platex + dvipdfmx の場合
 
    (1)ソースファイル:foo.tex , (utf-8)
--------------------------------------------------
\documentclass[uplatex]{jsarticle}
\usepackage[dvipdfmx]{hyperref}
\usepackage{pxjahyper}
\hypersetup{%
bookmarksnumbered=true,%
bookmarkstype=toc,%
colorlinks=true,%
pdftitle={夏目漱石作品について},%
pdfsubject={吾輩は猫である,他},%
pdfauthor={匿名希望者},%
pdfkeywords={TeX,PDF,夏目漱石,PostScript}}
 
\begin{document}
\section{夏目漱石の作品について}
\subsection{吾輩は猫である}
吾輩は猫である.名前はまだ無い.云々.

\subsection{草枕}
山路を登りながら、こう考えた.云々.

\end{document}
--------------------------------------------------
 
    (2)コンパイル 
 次の順序で行います.
 uplatex foo.tex
 uplatex foo.tex
 dvipdfmx foo.dvi
 
 あるいは,
 
 ptex2pdf -l -u foo.tex
 ptex2pdf -l -u foo.tex
 
    (3)結果
 
 出来上がった PDF とその プロパティ を示します.
 
shiori01.png

 
 
shiori02.png


    (4)補足
 
 ※ PDF 文字化け対策用の atbegshi.sty は pxjahyper.sty から呼び出される
   ので \usepackage{atbegshi} の記述は不要です.
 
 ※ pxjahyper のマニュアルは pxjahyper.pdf を参照してください.
 
 ※ pxjahyper.sty は euc, sjis, utf8 に対応しています.
 
 ※ 上記の例では \hypersetup{...} を使いましたが,次のように hyperref のオプション
   としても構いません.即ち,
 
 \usepackage[dvipdfmx,%
bookmarks=true,%
bookmarksnumbered=true,%
bookmarkstype=toc,colorlinks =true,%
pdftitle ={夏目漱石作品について},%
pdfsubject ={吾輩は猫である,他},%
pdfauthor ={匿名希望者},%
pdfkeywords={TeX,PDF,夏目漱石,PostScript}]{hyperref}
 
§2.lualatex の場合
 
    (1)ソースファイル:foo.tex , (utf-8)

--------------------------------------------------
\documentclass{ltjsarticle}
\usepackage[pdftex,pdfencoding=auto]{hyperref}
\hypersetup{%
bookmarksnumbered=true,%
bookmarkstype=toc,%
colorlinks=true,%
pdftitle={夏目漱石作品について},%
pdfsubject={吾輩は猫である,他},%
pdfauthor={匿名希望者},%
pdfkeywords={TeX \000\012 PDF \000\012 夏目漱石 \000\012 PostScript}}
 
\begin{document}
\section{夏目漱石の作品について}
\subsection{吾輩は猫である}
吾輩は猫である.名前はまだ無い.云々.

\subsection{草枕}
山路を登りながら、こう考えた.云々.

\end{document}
--------------------------------------------------
 
    (2)コンパイル
 
 コンパイルは2回行います.
 lualatex foo.tex
 lualatex foo.tex
 
 あるいは,
 
 luajitlatex foo.tex
 luajitlatex foo.tex
 
    (3)結果
 
 上図(§1)と同様ですので,省略します.

    (4)補足
 
 ※ hyperref に指定するドライバは pdftex です.

 ※ また,pdfencoding=auto, あるいは unicode=true を指定して
  しおり文書のプロパティの日本語の文字化けを防止します.
  Unicodeの改行コードが 8進数 で表記できます.
  ● LF=\000\012
  ● CR=\000\015
  ● CRLF=\000\015\000\012



§3.(u)platex + dvips + Ghostscript (ps2pdf) の場合
 
(u)platex + dvips + Ghostscript (ps2pdf) で日本語の文字化けを防止する場合は
Postscript ファイルに対して convbkmk を使用します.
 
    (1)ソースファイル:foo.tex , (utf-8)

--------------------------------------------------
\documentclass{jsarticle}
\usepackage[dvips]{hyperref}
\hypersetup{%
bookmarksnumbered=true,%
bookmarkstype=toc,%
colorlinks=true,%
pdftitle={夏目漱石作品について},%
pdfsubject={吾輩は猫である,他},%
pdfauthor={匿名希望者},%
pdfkeywords={TeX,PDF,夏目漱石,PostScript}}

\begin{document}
\section{夏目漱石の作品について}
\subsection{吾輩は猫である}
吾輩は猫である.名前はまだ無い.云々.

\subsection{草枕}
山路を登りながら、こう考えた.云々.

\end{document}
--------------------------------------------------
 
    (2)コンパイル
 
  次の順序で行います.
 platex -kanji=utf8 foo.tex
 platex -kanji=utf8 foo.tex
 dvips foo.dvi
 convbkmk -g foo.ps
 ps2pdf foo-convbkmk.ps foo.pdf
 
 あるいは,bkmk2uni コマンドを使って,
 platex -kanji=utf8 foo.tex
 platex -kanji=utf8 foo.tex
 dvips foo.dvi
 bkmk2uni < foo.ps > out.ps
 ps2pdf out.ps foo.pdf
 
    (3)結果
 
 上図(§1)と同様ですので,省略します.

    (4)補足
 
 ※ hyperref に指定するドライバは dvips です.デフォルトですので省略可です.
 
 
== おわり ==
スポンサーサイト
  1. 2014/03/08(土) 10:00:37|
  2. LaTeX Tools
  3. | トラックバック:0
  4. | コメント:0
<<[LaTeX][l2tabu] LaTeX2e タブー集 | ホーム | [Windows][diff][patch] Windows用の diff & patch コマンドでのパッチの適用 ~備忘録~>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://konoyonohana.blog.fc2.com/tb.php/68-4a015b2a
この記事にトラックバックする(FC2ブログユーザー)