pdfしおりでpartでchapterをリセットした場合のリンク先

pdfしおりでpartでchapterをリセットした場合のリンク先

- 星野 勉 の投稿
返信数: 7
世話になります。
jsbookで書籍を作っています。
\part{第二部}\setcounter{chapter}{0}
としたころ、生成されたpdfの各章のリンク先が第一部の各章になってしまいます。

https://oku.edu.mie-u.ac.jp/~okumura/texfaq/qa/54502.html

に同様の質問が載っているのですが、回答が見当たりません。

リング先にpartも含めれば、よいと思いますが、方法が、思いつきません。

ご教示の程、よろしくお願いいたします。


\documentclass[a5paper,twocolumn,openany,landscape]{jsbook}

\setlength{\fullwidth}{\textheight}

\special{papersize=148.5mm,210mm}

\usepackage[dvipdfmx]{graphicx}\graphicspath{{./}{./pdf/}}

\usepackage{okumacro}

\usepackage{plext}

\usepackage{otf}

\usepackage[dvipdfmx, pdfdirection=R2L]{hyperref}

\usepackage{pxjahyper}

\def\thechapter{\rensuji{\arabic{chapter}}}

\def\labelchapter{\rensuji{\arabic{chapter}}}

\def\吉{\ajTsuchiYoshi}

\def\prechaptername{}\def\postchaptername{}

\def\prepartname{}\def\postpartname{}

\def\thesection{\rensuji{(\arabic{section})}}

\addtolength{\oddsidemargin}{-10pt}

\addtolength{\evensidemargin}{10pt}

\makeatletter

%\def\contentsline#1#2#3#4{\csname l@#1\endcsname{\hyper@linkstart{link}{#4}{#2}\hyper@linkend}{\rensuji{#3}}}

\def\contentsline#1#2#3#4{\csname l@#1\endcsname{{#2}}{\rensuji{#3}}}

\renewcommand{\thepart}{\rensuji{\@Roman\c@part}}

\def\@makechapterhead#1{%

\vspace*{1.7\Cvs\@plus.7\Cdp \@minus.4\Cdp}% 欧文は50pt

{\parindent \z@ \raggedright \normalfont

\ifnum \c@secnumdepth >\m@ne

\if@mainmatter

\Huge\headfont \@chapapp\thechapter\@chappos

\hskip \Cvs % 欧文は20pt

\fi

\fi

\interlinepenalty\@M

\Huge \headfont #1\par\nobreak

\vskip 2.8\Cvs \@plus.7\Cdp \@minus.4\Cdp}} % 欧文は40pt

\def\@part[#1]#2{%

\ifnum \c@secnumdepth >-2\relax

\refstepcounter{part}%

\addcontentsline{toc}{part}{%

\prepartname\thepart\postpartname\hspace{1zw}#1}%

\else

\addcontentsline{toc}{part}{#1}%

\fi

\markboth{}{}%

{\centering

\interlinepenalty \@M

\normalfont

\ifnum \c@secnumdepth >-2\relax

\Huge\headfont \prepartname\thepart\postpartname

\fi

\Huge \headfont \hskip1zw #2\par}%

\@endpart}

\renewcommand{\section}{%

\if@slide\clearpage\fi

\@startsection{section}{1}{\z@}%

{.8\Cvs \@plus.5\Cdp \@minus.2\Cdp}% 前アキ

{.5\Cvs \@plus.3\Cdp}% 後アキ

{\normalfont\Large\headfont\raggedright\hskip3zw}}

\def\ps@plainhead{%

\let\@mkboth\@gobbletwo

\let\@oddfoot\@empty

\let\@evenfoot\@empty

\def\@evenhead{%

\if@mparswitch \hss \fi

\hbox to \fullwidth{\hfil\textbf{\thepage}}%

\if@mparswitch\else \hss \fi}%

\def\@oddhead{%

\hbox to \fullwidth{\textbf{\thepage}\hfil}\hss}}

\def\ps@headings{%

\let\@oddfoot\@empty

\let\@evenfoot\@empty

\def\@evenhead{%

\if@mparswitch \hss \fi

\underline{\hbox to \fullwidth{\autoxspacing

\leftmark\hfil\textbf{\thepage}}}%

\if@mparswitch\else \hss \fi}%

\def\@oddhead{\underline{\hbox to \fullwidth{\autoxspacing

\textbf{\thepage} \hfil{\if@twoside\rightmark\else\leftmark\fi}}}\hss}%

\let\@mkboth\markboth

}%

\renewcommand{\tableofcontents}{%

\settowidth\jsc@tocl@width{\headfont\prechaptername\postchaptername}%

\settowidth\@tempdima{\headfont\appendixname}%

\ifdim\jsc@tocl@width<\@tempdima \setlength\jsc@tocl@width{\@tempdima}\fi

\ifdim\jsc@tocl@width<2zw \divide\jsc@tocl@width by 2 \advance\jsc@tocl@width 1zw\fi

% \if@twocolumn

% \@restonecoltrue\onecolumn

% \else

% \@restonecolfalse

% \fi

% \chapter*{\contentsname}%

\section*{\contentsname}%

% \@mkboth{\contentsname}{}%

\@starttoc{toc}%

% \if@restonecol\twocolumn\fi

}

\renewcommand*{\l@part}[2]{%

\ifnum \c@tocdepth >-2\relax

\addpenalty{-\@highpenalty}%

% \addvspace{2.25em \@plus\jsc@mpt}%

\addvspace{0.4em \@plus\jsc@mpt}%

\begingroup

\parindent \z@

\rightskip \@tocrmarg

\parfillskip -\rightskip

{\leavevmode

\large \headfont

\setlength\@lnumwidth{4zw}%

#1\hfil \hb@xt@\@pnumwidth{\hss #2}}\par

\nobreak

\global\@nobreaktrue

\everypar{\global\@nobreakfalse\everypar{}}%

\endgroup

\fi}

\renewcommand*{\l@chapter}[2]{%

\ifnum \c@tocdepth >\m@ne

\addpenalty{-\@highpenalty}%

% \addvspace{1.0em \@plus\jsc@mpt}

\addvspace{0.25em \@plus\jsc@mpt}

\begingroup

\parindent\z@

\rightskip\@tocrmarg

\parfillskip-\rightskip

\leavevmode\headfont

% \setlength\@lnumwidth{\jsc@tocl@width}\advance\@lnumwidth 2.683zw

\setlength\@lnumwidth{\jsc@tocl@width}\advance\@lnumwidth 0.683zw

\advance\leftskip\@lnumwidth \hskip-\leftskip

#1\nobreak\hfil\nobreak\hbox to\@pnumwidth{\hss#2}\par

\penalty\@highpenalty

\endgroup

\fi}

\renewcommand*{\l@section}{%

\@tempdima\jsc@tocl@width \advance\@tempdima -1zw

\@dottedtocline{1}{\@tempdima}{3.683zw}

}


\makeatother

\def\Ingra#1#2{\includegraphics[scale=#1]{#2}}

\def\Ingrah#1#2{\includegraphics[width=#1]{#2}}

\def\Ingraw#1#2{\includegraphics[height=#1]{#2}}

\def\labelenumi{\rensuji{\arabic{enumi}}}

\def\={\kern1.5pt=\kern-3pt=\kern1.5pt}

\def\rensuji#1{\hskip\kanjiskip\hbox to 1zw{\yoko\hss\smash{#1}\hss\rule[-0.12zw]{0zw}{1zw}}\hskip\kanjiskip}

\title{\vskip20pt\Huge ******%}\author{

\hskip100pt\Large ****}

\author{}

\date{}

\pagestyle{headings}

\begin{document}\tate

\maketitle

\frontmatter

\thispagestyle{empty}%

\begin{figure*}

\includegraphics[scale=.898,angle=90]{photo0001}


\end{figure*}\clearpage

\thispagestyle{empty}%

\setcounter{tocdepth}{0}%

\tableofcontents

\mainmatter

\input{prologue}

\part{結婚するまで}

\input{chapter01}\input{chapter02}\input{chapter03}\input{chapter04}\input{chapter05}

\input{chapter06}\input{chapter07}\input{chapter08}\input{chapter09}\input{chapter10}

\input{chapter11}\input{chapter12}\input{chapter13}\input{chapter14}\input{chapter15}

\part{結婚してから}\setcounter{chapter}{0}

\input{chap2-01}\input{chap2-02}\input{chap2-03}\input{chap2-04}\input{chap2-05}

\input{chap2-06}\input{chap2-07}\input{chap2-08}\input{chap2-09}\input{chap2-10}

\input{chap2-11}\input{chap2-12}

\chapter*{エピローグ}\addcontentsline{toc}{part}{エピローグ}


\end{document}


星野 勉 への返信

Re: pdfしおりでpartでchapterをリセットした場合のリンク先

- TONE Kozaburo の投稿
https://oku.edu.mie-u.ac.jp/~okumura/texfaq/qa/54503.html が回答で
https://oku.edu.mie-u.ac.jp/~okumura/texfaq/qa/54504.html が質問者の御礼ですが。
TONE Kozaburo への返信

Re: pdfしおりでpartでchapterをリセットした場合のリンク先

- 星野 勉 の投稿
有難うございました。

奥村先生のところのtexfaq
は、沢山ありすぎて、見つけられませんでした。
というか、早々にあきらめてしましたした。

次は、もうちょっと気長に探してみます。

星野 勉 への返信

Re: pdfしおりでpartでchapterをリセットした場合のリンク先

- 奥村 晴彦 の投稿
PDFしおりについては私もよくわかっていないので詳しい方お願いいたします。

\setcounter{chapter}{0} が悪さをしているのでしょうか。jsbook の想定する本のモデルでは(book や jbook もそうですが)\part は \chapter をリセットしないというものです。この例では第2部は第16章から始まります。
奥村 晴彦 への返信

Re: pdfしおりでpartでchapterをリセットした場合のリンク先

- 奥村 晴彦 の投稿
あっ,TONEさんのと行き違いになってしまいました。ほんとですね,回答があって,それで解決しているみたいですね。私のは無視してください。すみませんおさわがせしました。
奥村 晴彦 への返信

Re: pdfしおりでpartでchapterをリセットした場合のリンク先

- 星野 勉 の投稿
奥村先生自ら、回答いただいて、有難く存じます。
今週末から、低温工学・超電導学会関係で、山形です。
最近、お会いできていませんが。
奥村 晴彦 への返信

Re: pdfしおりでpartでchapterをリセットした場合のリンク先

- 星野 勉 の投稿
\newcounter{chapter}[part]
を入れたら、エラーになってしまいました。
\renewcoutner
などというコマンドはないのでしょうね。
星野 勉 への返信

Re: pdfしおりでpartでchapterをリセットした場合のリンク先

- TONE Kozaburo の投稿

\@addtoreset と言う制御綴り(コマンド)があります。

\@addtoreset{カウンタ}{親カウンタ}

のように使い,親カウンタが増えると(子)カウンタがリセットされます。

具体的には,プリアンブルで以下のように記述します。

\makeatletter
\@addtoreset{chapter}{part}%% 部ごとに章番号リセット
\makeatother