タグ「文字化け」が付けられているエントリー

jsclassesとhyperrefを併用して卒論などを執筆するときの注意事項

| jsclassesとhyperrefを併用して卒論などを執筆するときの注意事項

追い込み乙!というわけで,卒論や修論や博論を仕上げる時期だと思います.理工系の大半はLaTeXで学位論文を仕上げていることかと思います.極少数のWord使いやこだわりの一太郎派がいるかと思いますが,そんな方には無縁の話です.勝手に苦労してください.

さて,重要なお話.特に,オレが過去に書いた修論や博論のテンプレートをベースに執筆している人は要注意.おかしいなぁ・・・.オレが博論を書いていたときは問題がなかったのだが・・・.パッケージ類の説明は避けるとして,プリアンブル部は以下のように指定する.日本語しおり付きで,リンク付きのPDFが作成できます.

%\documentclass[papersize,12pt,oneside,openany]{jsbook} %片面刷り 奇偶同一デザイン
\documentclass[papersize,12pt]{jsbook} %両面刷り 右開き 右起し
\usepackage{amsmath,amssymb}
\usepackage{times}
\usepackage[dvipdfm]{graphicx}
\usepackage{cite}
\usepackage{url}
\setcounter{tocdepth}{2}
\usepackage{atbegshi}
\AtBeginShipoutFirst{\special{pdf:tounicode 90ms-RKSJ-UCS2}}
\usepackage[dvipdfm]{color}
\usepackage[%
dvipdfm,%
pdfstartview={FitH -32768},%
bookmarks=true,%
bookmarksnumbered=true,%
bookmarkstype=toc,%
colorlinks=false,%
linkbordercolor={0 1 1},%
citebordercolor={0 1 0},%
urlbordercolor={0 0 1},%
pdftitle={ふがふが法による超絶技巧組曲の研究},%
pdfsubject={ほげほげ大学 平成21年度博士論文},%
pdfauthor={ラテフ太郎},%
pdfkeywords={fugafuga, 超絶}%
]{hyperref}

ポイントはPDFしおりの文字化け対策と用紙サイズが適切に認識されない問題への対応です.PDFのしおり文字化け問題は昔のエントリーを見てください.documentclassのオプションにpapersizeを付けてやると用紙サイズがdvipsやdvioutに送られます.詳しくはマニュアルを読んでください.参考にしたのはこの情報.だいぶ昔からあった問題みたい・・・.何故,オレが博論執筆していたときは問題が具現化しなかったんだろう??

この設定で勝つる!Wordや一太郎で書かれた論文を超美文章であるLaTeXで圧倒してやるがいい!内容の責任は持てないが.

関連:
dvipdfmxでCSS2009のカメラレディを作る人は読んだ方が良いかもしれないエントリ - 4403 is written
jBibTeX問題を解決した - 4403 is written
情報処理学会論文誌等を執筆時にdvipdfmxでlandscapeしなくて困った人が読むエントリ - 4403 is written
IEEE CSのproceedingを書くときに見るエントリ - 4403 is written
LaTeXでTimes系フォントを埋め込む方法~グレー版 - 4403 is written
hyperref+dvipdfmxで日本語が化けるときに読むエントリ - 4403 is written

締切まであと21時間くらいなので,バリバリ要約文というかプロポーザル(ぇ)を書いているわけですが,新しいTeXセットをインストールしたら,jBibTeXが動かなくなった.っていうか,厳密に言えば動いてるんだけど,bibファイルがSJISじゃダメで,EUC-JPじゃないと食べなくなってる.なにこれ?どうしよう.Windowsなのに,bibファイルはEUC-JP??それはおかしいでしょ.助けてドラえもん!

新しい実験手順書を作っているのだ.もちろん,TeXで書いているよ.Word?なにそれ?単語?完成したので,pdfに変換した見た.せっかくなので,しおりも付けてみたのだが,如何せん上手く行かない.書いたコードは以下のようなもの.お馴染みのコードです.

\AtBeginDvi{\special{pdf:tounicode 90ms-RKSJ-UCS2}}
\usepackage[
dvipdfm,
pdfstartview={FitH -32768},
bookmarks=true,
bookmarksnumbered=true,
bookmarkstype=toc,
colorlinks=false,
linkbordercolor={0 1 1},
citebordercolor={0 1 0},
urlbordercolor={0 0 1},
pdftitle={LEGOマインドストーム利用によるロボット製作},
pdfsubject={},
pdfauthor={},
pdfkeywords={}
]{hyperref}

これをplatexしてdviからdvipdfmxしたものが,以下.

080911_hyperref01.png

しおりはちゃんとしてるけど,タイトルが化けらった!というわけで検索して見た.

>>51065

おそらく,hyperref.sty の仕様変更の影響です.
# 私も,今年になってTeX環境を更新したら,はまったので…

\AtBeginDvi{\special{pdf:tounicode 90ms-RKSJ-UCS2}}

の代わりに,

\usepackage{atbegshi}
\AtBeginShipoutFirst{\special{pdf:tounicode 90ms-RKSJ-UCS2}}

を指定してみてください.

(参考: http://d.hatena.ne.jp/kabityu/20071123)

[qa:51075] Re: PDFを作成する際、pdftitleなどが文字化けする(しおりはOK)

なるほどなるほど.こうですね?

\usepackage{atbegshi}
\AtBeginShipoutFirst{\special{pdf:tounicode 90ms-RKSJ-UCS2}}
\usepackage[
dvipdfm,
pdfstartview={FitH -32768},
bookmarks=true,
bookmarksnumbered=true,
bookmarkstype=toc,
colorlinks=false,
linkbordercolor={0 1 1},
citebordercolor={0 1 0},
urlbordercolor={0 0 1},
pdftitle={LEGOマインドストーム利用によるロボット製作},
pdfsubject={},
pdfauthor={},
pdfkeywords={}
]{hyperref}

これをplatexしてdviをdvipdfmxすると・・・.

080911_hyperref02.png

awesome!

トラックバックをここ数日で2件も頂いているわけですが,残念なことに文字化けしています.誠に申し訳ないです><.今更で,なんなんですが,対策をしてみた.直っているはずなので,気が向いたら,またTBを打ち込んであげて下さい><.以下,対策方法.

MT4.1の場合,extlibにJcodeが既に入っているようなので,lib/MT/App/TrackBack.pmを以下のように修正する.

sub no_utf8 {
    require Jcode;
    for (@_) {
        next if !defined $_;
        $_ = pack 'C0A*', $_;
        $_ = Jcode->new($_)->utf8;
    }
}

終わり.簡単だねっ!

参考:
小粋空間: Trackback文字化け対処

P.S.
ブラックリストに入っているらしく,MindslideさんにTBが打てないんです><ボクの所為じゃない><

200804111857追記:
Mindslideさんから,再TBを頂きました.色々とお手数をおかけしまして,申し訳ないですm(__)m

プロフィール

e-m@il @ddress