投稿

1月, 2013の投稿を表示しています

著者 出版年 形式での引用

TeXのデフォルトは,文献に振った番号で引用する。気象等では,著者 (年)の形式で引用するので,natbibパッケージを使う。

\usepackage{natbib} \bibliographystyle{ametsoc} \setcitestyle{aysep={}}
\bibliographystyleはplainnatが基本だが,上記の例では米国気象学会のテンプレートに含まれているametsoc.bst利用している。\setcitestyleで,著者と出版年との間の記号 aysep の「,」を削除している。

ametsoc.bstは号を()の中に入れて出力する。これを取り除くには,FUNCTION {format.vol.num.pages}の

number "number" bibinfo.check duplicate$ empty$ 'skip$ { swap$ duplicate$ empty$ { "there's a number but no volume in " cite$ * warning$ } 'skip$ if$ swap$ "" * "" * } if$ *
を削除する。

PDFにページ番号を振る

講演者に送っていただいた,PDF形式の講演要旨にページ番号を付ける。Acrobatでもできるが,講演は50件以上あるので,ひとひとつファイルを開いて作業するのは手間がかかる上,ミスをしやすい。そこで,コマンドラインで作業することにする。

まず,ページ数を勘定する必要がある。pdfkを使うとPDFの情報を表示できる。

pdftk foo.pdf dump_data output - | grep NumberOfPages | awk '{print $2}
pdftkは,バイナリも配布されているが,MacPortsでインストールすることもできる。一時期gcjの問題でコンパイルできないことがあったが,Leopardではgcc42,Snow Leopardでは gcc45,LionとMountain Lionではgcc47が既定で選択されてコンパイルに使用される。

ページ番号はLaTeXに振ってもらう。印刷範囲を無視して複数ページのPDFを取り込むには,pdfpagesパッケージを用いる。

以下にテンプレートを示す。Nは開始するページ番号,PDFはPDFのファイル名が入る。

%!TEX TS-program = pdflatex \documentclass[11pt]{article} \usepackage{pdfpages} \begin{document} \setcounter{page}{N} \setlength{\footskip}{3cm} \includepdf[pages=-,pagecommand={\thispagestyle{plain}}]{PDF} \includepdfのオプションpages=-は全てのページを取り込むことを示す。既定は最初のページのみ。pagecommand={\thispagestyle{plain}}でページを振ることを示す。ページ番号が本文に重なってしまったので,\footskipで調整している。私の試した範囲では,geometryパッケージを使うとページ番号が表示されなかった。

pdfpagesは,MacPortsのtexlive-latex-recommendedに含まれている。

texlive-lang-cjk導入時のTeXShopの設定

奥村先生のページに書いてありますが,シンボリックリンクを使って少し手抜き。pdfplatexだけを使う場合は最初のシェルスクリプトだけでもよい。

$ cd ~/Library/TeXShop/bin $ cat pdfeptex #!/bin/sh command=`basename ${0}` ${command#pdf} -synctex=1 "$1" && \ dvipdfmx "`basename "$1" .tex`" $ ln -s pdfeptex pdfplatex $ ln -s pdfeptex pdfeuptex $ ln -s pdfeptex pdfuplatex $ cat pdfeptex2 #!/bin/sh command2=`basename ${0}` command=${command2#pdf} ${command%2} -synctex=1 "$1" && \ dvips -Ppdf -z -f "`basename "$1" .tex`.dvi" | \ convbkmk -g > "`basename "$1" .tex`.ps" && \ ps2pdf "`basename "$1" .tex`.ps" $ ln -s pdfeptex2 pdfplatex2 $ ln -s pdfeptex2 pdfeuptex2 $ ln -s pdfeptex2 pdfuplatex2 $ cat eptex2pdf-utf8 #!/bin/sh # iNoue Koich! (modified by S. Zenitani) export PATH=$PATH:/usr/texbin:/usr/local/bin COMMAND=${0##*/} PTEX=${COMMAND%2pdf-*} ENCODE=${COMMAND#*-} JOBNAME=${1##*/} JOBNAME=${JOBNAME%.*} eptex -synctex=1 -kanji=$E…