Re: hyperrefとchappg併用時の索引について

名前: 山口博之
日時: 2005-01-12 15:50:37
IPアドレス: 192.51.44.*

>>33674 お返事ありがとうございます。 以下、こちらで確認した状況を報告いたします。 33659のサンプルの\begin{document} の直前に、 ご教示いただいたソースを入れてみました。 結論からいいますと、コンパイル時に 「! LaTeX Error: Lonely \item--perhaps a missing list environment.」 というメッセージが出力されるものの、ページ番号の表示形式が「4-2」のように 「章-章内の通しページ番号」の形式の索引項目からもジャンプできるPDFを作成 することができました。 ところが、私が実際にコンパイル対象としているTeXソースではうまくいきませんでした。 そのTeXソースというのは、実はもともとDocbook XMLで記述/管理されているものでして、 これをdb2latexを使って生成したものなのです。 db2latexで自動生成したTeXソースのイメージを、33659のサンプルに 反映すると以下のようになります。 =<TeXソース(ここから)>================================ \documentclass[tombow,b5paper,10pt,dvipdfm]{jbook} \usepackage{chappg}% nonble style 1 2 3... → 1-1 1-2... 2-1 2-2... \usepackage{makeidx} \makeindex \usepackage[dvipdfm,% hyperindex,% hypertexnames=false,% plainpages=false,% pdfdisplaydoctitle=true,% pageanchor,% colorlinks=true,%ハイパーリンクを色枠ではなく色文字に[default は false] linkcolor=red,%link の文字色 red [default] citecolor=blue,%cite の文字色 blue [default は lime {0 1 0}] urlcolor={0 0 1},%url の文字色 blue [default] backref,% pagebackref,% breaklinks,% linktocpage,% ]{hyperref} %▽ generated by db2latex(No.1) ▽▽▽▽▽▽▽▽▽▽▽ %\makeatletter % %% index labeling helper %\newif\ifdocbooktolatexprintindex\docbooktolatexprintindextrue %\let\dbtolatex@@theindex\theindex %\let\dbtolatex@@endtheindex\endtheindex %\def\theindex{\relax} %\def\endtheindex{\relax} %\newenvironment{dbtolatexindex}[1] % { %\if@openright\cleardoublepage\else\clearpage\fi %\let\dbtolatex@@indexname\indexname %\def\dbtolatex@indexlabel{% % \ifnum \c@secnumdepth >\m@ne \refstepcounter{chapter}\fi% % \label{#1}\hypertarget{#1}{\dbtolatex@@indexname}% % \global\docbooktolatexprintindexfalse} %\def\indexname{\ifdocbooktolatexprintindex\dbtolatex@indexlabel\else\dbtolatex@@indexname\fi} %\dbtolatex@@theindex % } % { %\dbtolatex@@endtheindex\let\indexname\dbtolatex@@indexname % } % %\newlength\saveparskip \newlength\saveparindent %\newlength\tempparskip \newlength\tempparindent % %\makeatother %△ generated by db2latex(No.2) △△△△△△△△△△△ %▼ トノ様からご教示いただいたソース ▼▼▼▼▼▼▼▼▼▼▼ \makeatletter \let\orig@@wrindex=\@wrindex \def\@wrindex#1{% \@ifundefined{index//\thepage}{% \expandafter\global\expandafter\def\csname index//\thepage\endcsname{% \@nil }% \edef\reserved@a{\noexpand\label{index//\thepage}}% \reserved@a }{}% \orig@@wrindex{#1}% } \let\orig@printindex=\printindex \def\printindex{% \def\hyperpage##1{\pageref{index//##1}}% \orig@printindex } \makeatother %▲ トノ様からご教示いただいたソース ▲▲▲▲▲▲▲▲▲▲▲ \begin{document} \chapter{テスト} hyperrefとchappgとの併用\index{へいよう@併用}について説明する。 %▽ generated by db2latex(No.2) ▽▽▽▽▽▽▽▽▽▽▽ %\setlength\saveparskip\parskip %\setlength\saveparindent\parindent %\begin{dbtolatexindex}{id4736493} %\setlength\tempparskip\parskip \setlength\tempparindent\parindent %\parskip\saveparskip \parindent\saveparindent %\noindent \indexspace %\parskip\tempparskip %\parindent\tempparindent %\makeatletter\@input@{\jobname.ind}\makeatother %\addcontentsline{toc}{chapter}{索引} %\end{dbtolatexindex} %△ generated by db2latex(No.2) △△△△△△△△△△△ %★★\newpage %★★\printindex \end{document} =<TeXソース(ここまで)>================================ = 補足 = 冒頭で申し上げたことは、以下のことと同意になります。 − 上記のTeXソースから★でマークした部分のコメントを外して 作成したPDFでは、「章-章内の通しページ番号」の形式の索 引項目からもジャンプできる。 − 上記のTeXソースから▽と△で囲まれた部分のコメントを外して 作成したPDFでは、「章-章内の通しページ番号」の形式の索 引項目からもジャンプできない。 以上、状況の報告です。

この書き込みへの返事:

お名前
題名 
メッセージ(タグは <a href="...">...</a> だけ使えます)