解決できないコンパイルエラー (予想:e-TEX関係?)

解決できないコンパイルエラー (予想:e-TEX関係?)

- 匿 名 の投稿
返信数: 4
締切りに追われて焦っての質問をお許し下さい。

どうしても自分で解決できない下記のエラーについて、
どなたか解決の糸口だけでも教えていただければ幸いです。
よろしくお願い致します。

* 状況
 あるワークショップに送る原稿のテンプレートファイルがコンパイルできない。このテンプレートファイルはまず間違いなく大半の人がコンパイルに成功しているはずです(そうでなければ即座に修正されているはず)

* エラーメッセージ:
! Undefined control sequence.
l.74 \ifdefined
              \nohyperref\else\ifdefined\hypersetup

* 素人なりの見解
 \ifdefinedそのものがundefinedと言われているようです。
 拡張版TeX(e-tex)の機能に関する問題のように見えましたので、
 e-texについて色々調べましたがわかりませんでした。

* エラーメッセージの対象となったスタイルファイルの先頭行
  からエラーを起こした行の次の行まで
----------------------- ここまで ------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{icml2011}[2011/01/01 v2.0 ICML Conference Style File]

% Use fancyhdr package
\RequirePackage{fancyhdr}
\RequirePackage{color}
\RequirePackage{algorithm}
\RequirePackage{algorithmic}
\RequirePackage{natbib}
\RequirePackage{eso-pic} % used by \AddToShipoutPicture

%%%%%%%% Options
\DeclareOption{accepted}{%
  \renewcommand{\Notice@String}{\ICML@appearing}
  \gdef\isaccepted{1}
}
\DeclareOption{nohyperref}{%
\gdef\nohyperref{1}
}

\ifdefined\nohyperref\else\ifdefined\hypersetup %エラー行
  \definecolor{mydarkblue}{rgb}{0,0.08,0.45}

----------------------- ここまで ------------------------

* 環境

OS Linux/Debian
TeXの環境 下記を参考にインストールしました

http://oku.edu.mie-u.ac.jp/~okumura/texwiki/?Linux%2FDebian

# 載せるべき情報が見当はずれでしたら申し訳ありません。
   (10年ほど使っていますが、始めて出くわしたエラーです)
匿 名 への返信

Re: 解決できないコンパイルエラー (予想:e-TEX関係?)

- 匿 名 の投稿
>\ifdefinedそのものがundefinedと言われているようです。
>拡張版TeX(e-tex)の機能に関する問題
そのようですね.
pLaTeX ではなく,LaTeX(新しいものがお好きなら epLaTeX でも
よいでしょうけれども)でタイプセットするとどうなりますか?
匿 名 への返信

Re: 解決できないコンパイルエラー (予想:e-TEX関係?)

- 匿 名 の投稿
返信ありがとうございます。

アドバイスいただいたlatexコマンドによるコンパイルの結果は
以下のように別のエラーを生じました。
(ただしlatexはpdftexにシンボリックリンクされていました。
 pdftexによるコンパイルがご提案の主旨に沿うのかわかっていません)

# ちなみに\natbibはソースファイルで読み込まれています。
\usepackage{natbib}

 エラーが起きているのは「この後で」読み込んだスタイルファイル
 (最初のメールに一部を添付したもの)の中です。

出力結果
latex example_paper.tex
This is pdfTeXk, Version 3.141592-1.40.3 (Web2C 7.5.6)
%&-line parsing enabled.
entering extended mode
(./example_paper.tex
LaTeX2e <2005/12/01>
Babel <v3.8h> and hyphenation patterns for english, usenglishmax, dumylang, noh
yphenation, croatian, ukrainian, russian, bulgarian, czech, slovak, danish, dut
ch, finnish, basque, french, german, ngerman, ibycus, greek, monogreek, ancient
greek, hungarian, italian, latin, mongolian, norsk, icelandic, interlingua, tur
kish, coptic, romanian, welsh, serbian, slovenian, estonian, esperanto, upperso
rbian, indonesian, portuguese, spanish, catalan, galician, swedish, loaded.
(/usr/share/texmf-texlive/tex/latex/base/article.cls
Document Class: article 2005/09/16 v1.4f Standard LaTeX document class
(/usr/share/texmf-texlive/tex/latex/base/size10.clo))
(/usr/share/texmf-texlive/tex/latex/graphics/graphicx.sty
(/usr/share/texmf-texlive/tex/latex/graphics/keyval.sty)
(/usr/share/texmf-texlive/tex/latex/graphics/graphics.sty
(/usr/share/texmf-texlive/tex/latex/graphics/trig.sty)
(/etc/texmf/tex/latex/config/graphics.cfg)
(/usr/share/texmf-texlive/tex/latex/graphics/dvips.def)))
(/usr/local/usr_sty/subfigure.sty
Package: subfigure 1995/03/06 v2.0
) (/usr/local/usr_sty/natbib.sty) (/usr/local/usr_sty/algorithm.sty)
(./algorithmic.sty
Document Style `algorithmic' - environment
(/usr/share/texmf-texlive/tex/latex/base/ifthen.sty)
(/usr/share/texmf-texlive/tex/latex/tools/calc.sty))
(/usr/share/texmf-texlive/tex/latex/hyperref/hyperref.sty
(/usr/share/texmf-texlive/tex/latex/hyperref/pd1enc.def)
(/etc/texmf/tex/latex/config/hyperref.cfg)
(/usr/share/texmf-texlive/tex/latex/oberdiek/kvoptions.sty)
Implicit mode ON; LaTeX internals redefined
(/usr/local/usr_sty/url.sty))
*hyperref using default driver hdvips*
(/usr/share/texmf-texlive/tex/latex/hyperref/hdvips.def
(/usr/share/texmf-texlive/tex/latex/hyperref/pdfmark.def)) (./icml2011.sty
(./fancyhdr.sty) (/usr/share/texmf-texlive/tex/latex/graphics/color.sty
(/etc/texmf/tex/latex/config/color.cfg)
(/usr/share/texmf-texlive/tex/latex/graphics/dvipsnam.def))
(/usr/share/texmf-texlive/tex/latex/eso-pic/eso-pic.sty
(/usr/share/texmf-texlive/tex/latex/everyshi/everyshi.sty))
! Undefined control sequence.
l.374 \setcitestyle
                  {authoryear,round,citesep={;},aysep={,},yysep={;}}
匿 名 への返信

Re: 解決できないコンパイルエラー (予想:e-TEX関係?)

- 匿 名 の投稿
# >ただしlatexはpdftexにシンボリックリンクされていました。
# この点は問題ありません.

提示されているログでは,natbib パッケージのバージョンが
よくわかりませんね.
とりあえず,
・Package: natbib 2000/07/24 7.0a (PWD)
では \setcitestyle は用意されていない一方,
・Package: natbib 2010/09/13 8.31b (PWD, AO)
では \setcitestyle が定義されています.
# natbib パッケージを更新するだけでは別のエラーが生じるようなら,
# 件のパッケージが読み込んでいるパッケージを「すべて」更新
# したほうがよろしいでしょう.
匿 名 への返信

Re: 解決できないコンパイルエラー (予想:e-TEX関係?)

- 匿 名 の投稿
当たりです。
natbib.styが古いバージョンでした。
過去に同じ状況まで自力でたどりついていながら、
その意味に気づいていませんでした。

不注意からお手数をかけてすみませんでした。
natbibを更新してもまだコンパイルエラーが続きましたが、
似たようなエラーであり、丁寧に原因を追いかけることで解決に至りました。

失敗のポイントは
* 拡張機能はplatexにはまだ対応しておらずlatexを使うべき
    (早とちりですか?)
* パッケージの新機能に気がついたら更新すべき
という理解で正しいのでしょうか?

とにかくにも大変助かりました。ありがとうございました。