えちえち☆だんせーき!アニメ大好き社会人のロコリンのブログ。2015年卒(修士)の社会人。学生時代(2010年)から続けてるブログなのでエントリによっては学生ブログと社会人ブログになっています。時系列から察して。
|
|||||||||||||||||
|
|||||||||||||||||
このブログについて
ブログ内検索
カテゴリ
プロフィール
外部リンク
Twitter
|
就活まだ続けてるけど研究にも手を付けないといけないので、両立できるか不安ですが、どうなるかな。今期見てるアニメはごちうさとラブライブ2期と咲1期だけです。 TeX で厄介なのは Shift_JIS (CP932 とか) にない文字 (補助漢字とか) の入力に手間がかかることです。でも、どうしても入力しなくてはいけない文字が出てきたので、解決策を探しました。なんとか見つけたので、まとめます。 1 OTF (otf.sty) のインストールotf.sty は普通にやってればインストールしてるでしょう。ここでもパッケージの1つとして取り上げられていますし。 OTF の使い方は、まずプリアンブルに \usepackage{otf} を入れることです。そのあとは本文中で次の2通りの方法で文字を指定します。
なお、\UTF{9ad9} も \CID{8705} も「髙」(はしごだか)を表します。 基本的にはこれで問題なくコンパイル (platex) まではできます。 2 cid-x.map の設定しかし、PDF の作成 (dvipdfmx) で「フォントがない」って怒られました(◞‸◟) 具体的にはこんなエラーメッセージです。** WARNING ** Could not locate a virtual/physical font for TFM "hminr-h". ** WARNING ** >> This font is mapped to a physical font "HiraMinProN-W3.otf". ** WARNING ** >> Please check if kpathsea library can find this font: HiraMinProN-W3.otf ** ERROR ** Cannot proceed without .vf or "physical" font for PDF output... 上記エラーの原因はフォントを適切にマッピングしてないからでしょう。というわけで、次のようにして解決しました。(出典はこちら。) (TeXをインストールしたディレクトリ)\share\texmf-dist\fonts\map\dvipdfmx\base にある cid-x.map を開きます。(ない場合は作成します。) 次の文字列を追記します。 rml H Ryumin-Light rmlv V Ryumin-Light gbm H GothicBBB-Medium gbmv V GothicBBB-Medium hminr-h H Ryumin-Light hminr-v V Ryumin-Light otf-ujmr-h UniJIS-UTF16-H Ryumin-Light otf-ujmr-v UniJIS-UTF16-V Ryumin-Light otf-cjmr-h Adobe-Japan1-6 Ryumin-Light otf-cjmr-v Identity-V Ryumin-Light hgothr-h H GothicBBB-Medium hgothr-v V GothicBBB-Medium otf-ujgr-h UniJIS-UTF16-H GothicBBB-Medium otf-ujgr-v UniJIS-UTF16-V GothicBBB-Medium otf-cjgr-h Adobe-Japan1-6 GothicBBB-Medium otf-cjgr-v Identity-V GothicBBB-Medium 以上です。結構簡単。(でも解決策を見つけるまでに多少時間がかかりました。これが TeX の難点なんですよね。) 他のフォントを使いたい時は適宜一番右のフォントを変更すればいいんじゃないですか。IPA フォントを使いたいなら Ryumin-Light の部分を ipam.ttf に、GothicBBB-Medium の部分を ipag.ttf に変えるといいです。もちろんこれは dvipdfmx の -f オプションで別途 *.map ファイルを指定することもできます。 3 感想漢字の入力については不自由はなくなったっぽいです。「髙島屋」も「\UTF{9ad9}島屋」って書けば正しく描画されます。 でも、それ以外の絵文字とかは入力できないっぽいですね。Twitter のキチガイ顔文字とか(☝ ՞ਊ ՞)=☞)՞ਊ ՞) でもこんなの論文で記入することもないですし、いいんじゃないですか(棒読み) 参考文献BibTeX の使い方と MakeIndex の使い方については様々なサイトで紹介されているのでここでは紹介しません。しかし,これらを同時に使った時に正しく組版する方法については他サイトで言及がないのでここで紹介します。 まず次のような TeX ファイルがあるとします。目次,参考文献,索引を使っています。 test_0.tex \documentclass[11pt,dvipdfmx]{jreport} \usepackage{makeidx} % 索引を作るのに使う \makeindex % 索引を作る \makeatletter % ↓定義・再定義開始↓ % \bibliography (BibTeX) による参考文献を目次に追加 % http://www.nsknet.or.jp/~tony/TeX/faq/macro.htm#bibliography \renewenvironment{thebibliography}[1]{% \chapter*{\bibname\@mkboth{\bibname}{\bibname}}% \addcontentsline{toc}{chapter}{\bibname}% この行追加 \list{\@biblabel{\@arabic\c@enumiv}}% {\settowidth\labelwidth{\@biblabel{#1}}% \leftmargin\labelwidth \advance\leftmargin\labelsep \@openbib@code \usecounter{enumiv}% \let\p@enumiv\@empty \renewcommand\theenumiv{\@arabic\c@enumiv}}% \sloppy \clubpenalty4000 \@clubpenalty\clubpenalty \widowpenalty4000% \sfcode`\.\@m }{ \def\@noitemerr {\@latex@warning{Empty `thebibliography' environment}}% \endlist } \renewcommand{\bibname}{参考文献} \newcommand\myprintindex{ % 索引を目次に追加 \clearpage %\phantomsection % ← hyperref を使う時は入れる。使わないなら不要。 \addcontentsline{toc}{chapter}{\indexname} \printindex } \makeatother % ↑定義・再定義終了↑ \begin{document} \tableofcontents % 目次 \chapter{真夏の夜の淫夢} 真夏の夜の淫夢\cite{inmu2000}はコートコーポレーションが2000年に発売したアレなビデオ。 ニコニコ動画や Twitter などで流行している(2013年現在)。 そのため,随所でこの作品の名言を見ることになる。 たまげたなぁ。 \section{野獣先輩} 4章,野獣先輩の名言を示す。 「こ↑こ↓\index{ここ@こ↑こ↓}」 「帰って,どうぞ!†悔い改めて†\index{くいあらためて@†悔い改めて†}」 「まずうちさぁ,屋上あんだけど……焼いて行かない?」 「大丈夫でしょ。ま,多少はね。」 サッー!(迫真)\index{さっーはくしん@サッー!(迫真)} 「すっげえ白くなってる。はっきりわかんだね\index{はっきりわかんだね}。」 % 参考文献 \bibliographystyle{junsrt} % 参考文献のスタイル \bibliography{bibs} % ←どの参考文献データベースを読み込むかを指定する。(ここでは ./bibs.bib を読み込む) \myprintindex % 索引 \end{document}参考文献は次の bib ファイルに入っているものとします。 bibs.bib @misc{inmu2000,
title={{Babylon Stage34 真夏の夜の淫夢 ~the IMP~}},
howpublished={コートコーポレーション},
year=2000
}
これらから PDF を作成するには次の順にコマンドを実行します。
例えば,上記の test_0.tex と bibs.bib から組版するには次のようにします。 platex test_0.tex pbibtex test_0 platex test_0.tex mendex -c -g -p any test_0.idx platex test_0.tex platex test_0.tex dvipdfmx test_0.dvi 当然,毎回これを手動で実行するのは大変なので自動化するべきです。Windows の人はバッチファイル (bat) を,Linux の人はシェルスクリプト (sh) を,Mac OS X の人はシェルスクリプト (command) を作ればいいと思いますよ。 私が作ったものを例として示します。 tes2pdf.bat :: tex2pdf :: *.texファイルをpdfとして出力します。 @echo off setlocal echo tex2pdf :: 引数1 (*.tex ファイル) が入力されていれば filedrop へ移動 if exist %1 goto filedrop :: エラー表示 echo 入力エラー echo このバッチファイルに *.tex ファイルをドロップしてください。 pause goto end :filedrop :: カレントディレクトリを引数1 (*.tex ファイル) のある場所へ移動 %~d1 cd "%~d1%~p1" :: TeX コンパイル処理 platex "%~n1%~x1" :: BibTeX 処理 pbibtex "%~n1" platex "%~n1%~x1" :: MakeIndex 処理 if exist "%~n1.idx" ( if exist dot.ist ( mendex -c -g -s dot.ist -p any "%~n1.idx" ) else ( mendex -c -g -p any "%~n1.idx" ) platex "%~n1%~x1" ) :: BibTeX および MakeIndex の反映処理 platex "%~n1%~x1" :: PDF 作成処理 if exist ipa.map ( dvipdfmx -f ipa.map "%~n1.dvi" ) else ( dvipdfmx "%~n1.dvi" ) :: 終了 :end endlocal tex2pdf.sh #!/bin/bash # コマンドライン引数の数をチェック。 if [ $# -ne 1 ] ; then echo "引数の数は1個な。" exit 1 fi # 入力されたファイルの拡張子をチェック。 case $1 in *.tex) ;; *) echo "*.tex ファイルを入れてくれ。" exit 1 ;; esac # TeX コンパイル処理 platex $1 # BibTeX 処理 pbibtex ${1/.tex}.bbl platex $1 # MakeIndex 処理 if [ -e ${1/.tex}.idx ] ; then if [ -e dot.ist ] ; then mendex -c -g -s dot.ist -p any ${1/.tex}.idx else mendex -c -g -p any ${1/.tex}.idx fi platex $1 fi # BibTeX および MakeIndex の反映処理 platex $1 # PDF 生成処理 dvipdfmx ${1/.tex}.dvi 卒論は大体完成して,プレゼンのスライドも大体できていて,暇なので LaTeX tips を書きます. ドキュメントクラスを report や jreport, book, jbook などにしている場合,\chapter コマンドによって章を作ることができます.図や表,数式などの番号は「章番号.章内の通し番号」になります. ですが,なんか知らないんですけど,私の学校の卒論では図表数式番号を論文全体の通し番号にしないといけないみたいです.簡単に直せるだろう,そう思っていた時期が私にもありました (AA 略).あんまり簡単にはいかないみたいですね. そこで,解決策を一生懸命調べました.これで解決です. 1 通し番号にする1.1 remreset.sty のダウンロードCTAN から remreset.sty をダウンロードする必要があります. remreset.sty は CTAN の「Carlisle – David Carlisle's small packages」の中にありますので,下記より zip アーカイブをダウンロードすればいいと思います. ダウンロードした carlisle.zip を以下のディレクトリに展開してください. (TeX ディレクトリ)/share/texmf/tex/latex 1.2 TeX ファイルの編集通し番号にしたい TeX ファイルのプリアンブルに下記を追記してください.(スタイルファイルに書く場合は \makeatletter と \makeatother は消しておkです.) \usepackage{remreset} % removefromreset に使う \makeatletter \@removefromreset{figure}{chapter} \def\thefigure{\arabic{figure}} \@removefromreset{table}{chapter} \def\thetable{\arabic{table}} \@removefromreset{equation}{chapter} \def\theequation{\arabic{equation}} %\@removefromreset{subfigure}{chapter} %\def\thesubfigure{(\alph{subfigure})} %\def\p@subfigure{\arabic{figure}} %\@removefromreset{subtable}{chapter} %\def\thesubtable{(\alph{subtable})} %\def\p@subtable{\arabic{table}} %最新の TeX では \subfigure, \subtable は廃止されている。(代替コマンド: \subcaption) \makeatother これでおkです. (2013年7月17日追記.) 最新の TeX では subfigure パッケージは廃止されています。したがって,上記の subfigure, subtable 向けの設定は削除してください。(今はコメントアウトしてあるのでそのままコピペでも大丈夫です。) 現在,subfigure や subtable などの代替コマンドとして subcaption があります。 2 節ごとに分けるarticle や jarticle, jsarticle などでは,デフォルトで通し番号になっていると思います.で,逆にこれらのドキュメントクラスで節ごとに図表数式番号を分けたいときもあるかと思いますので,ついでに載せときます. プリアンブルに次のように書くだけでおkです.(スタイルファイルに書く場合は \makeatletter と \makeatother は消しておkです.) \makeatletter \renewcommand{\theequation}{% 式番号の付け方 \thesection.\arabic{equation}} \@addtoreset{equation}{section} \renewcommand{\thefigure}{% 図番号の付け方 \thesection.\arabic{figure}} \@addtoreset{figure}{section} \renewcommand{\thetable}{% 表番号の付け方 \thesection.\arabic{table}} \@addtoreset{table}{section} \makeatother subfigure.sty パッケージを使う場合は,上記宣言の前ではなく,後に \usepackage{subfigure} を入力してください. 3 補足listings を使う場合文書中にソースコードを埋め込める listings.sty を使う人向けに補足します.(使わない人には関係ありません.) lstlisting 環境のリスト番号を「節.リスト」→「通し番号」にするには次のようにします. \usepackage{remreset} % removefromreset に使う \makeatletter \AtBeginDocument{ \@removefromreset{lstlisting}{chapter} \def\thelstlisting{\arabic{lstlisting}}} \makeatother lstlisting 環境のリスト番号を「通し番号」→「章.リスト」にするには次のようにします. \makeatletter \AtBeginDocument{% リスト番号の付け方 \renewcommand*{\thelstlisting}{\arabic{section}.\arabic{lstlisting}}% \@addtoreset{lstlisting}{section}} \makeatother 図や表との違いは \AtBeginDocument{ 〜 } で囲まないといけないことですね. 参考文献ここ 2 年くらいの間、LaTeX に貼り付ける図は Inkscape で描いていました。Inkscape はドローソフトなので、柔軟に描くことができます。反面、陰関数や媒介変数によるプロットのエクステンションがない、複雑な数式を含んだ文字列を描きづらいなど、限界を感じてはいました。 どうやら、数学的な図は PSTricks で作成するといいみたいです。PSTricks は LaTeX のパッケージです。PSTricks は LaTeX と抱き合わせで入っており、LaTeX ユーザはすぐに使えます。(たぶん。) 詳しいことは Wikipedia でも見てください。図の具体例などが見られますので、こういう図を描きたいなぁって思ったら PSTricks に挑戦するといいと思います。 1 とりあえず PSTricks で図を出力もうすでに LaTeX はインストールしてあるという前提です。それ以外は特に準備しなくていいです。PSTricks のパッケージは元々 LaTeX と抱き合わせで入っていますので、新たに CTAN からダウンロードしてくる必要はありません。 1.1 eps の出力とりあえず PSTricks で図を作れることを確かめましょう。『PSTricks パッケージ』からテスト用のソースコード (fig.tex) をダウンロードしてください。 fig.tex に対して以下のコマンドを実行すると fig.eps が得られます。 platex fig.tex dvips -E -Ppdf fig.dvi -o fig.eps 1.2 eps の読み込み先ほど生成した fig.eps を実際に使ってみましょう。test.tex をダウンロードしてください。 test.tex を fig.eps と同じディレクトリに置き、以下のコマンドを実行してください。 platex test.tex dvipdfmx test.dvi すると、test.pdf ができていると思います。一応生成された test.pdf をうpしておきます。 参考文献学部 3 年生の情報工学実験IIでは毎回レポートを書いているのですが、私は全 7 レポートを LaTeX で作りました。その中で見つけた小技などを少しずつ紹介できたらいいなと思っています。なお、その際様々なサイトを参考にしましたので、可能な限り出展も示したいです。 今回は箇条書き関連の小技を紹介します。 | HOME | |
最新記事
最新コメント
FC2カウンター
欲しい
最近買ったもの
Amazon 検索
|
|||||||||||||||
copyright © 2008 えちえち☆だんせーき! all rights reserved.
Designed by チラシ広告作成ナビ
|