hyperrefとhypdvipsの間の誤差を判断できません

hyperrefとhypdvipsの間の誤差を判断できません

次の最小限の動作しない例を見てください。出力 pdf が作成されるため、これは正しくありません。それにもかかわらず、ログファイルにはエラーが生成されます。これにはかなりの時間がかかりましたが、それが私のせいかどうかはまだわかりません。

新しいMiKTeX 2.9.5105ディストリビューションのポータブル版をダウンロードし、パッケージを更新しました。dvi-ps-pdfバッチファイルでコンパイルしました。

MWEはこちら

\documentclass{scrreprt}
\usepackage[utf8]{inputenc} % Uses the utf8 input encoding
\usepackage{hyperref}
\usepackage{hypdvips}

\begin{document}
\chapter*{Impressum}
\chapter{Zu diesem Dokument}
Dieses Installationsanleitung erläutert alle Themen um den -Client installieren zu     können und ist als Leitfaden mit Zusatzinformationen aufgebaut. Bestimmte abgebildete windowsspezifische Programmelemente können in den Windowsversionen abweichen, gelten aber sinngemäß. 
\section{Symbole und Auszeichnungen}

\section{Want to use command from package hypdvips}
\attachfile[description={MNWEB.log},flags=0000000001, mimetype=application/txt]{MNWEB.log}
\end{document}  

エラーファイルには次のエラーが表示されます。

LaTeX Info: Redefining \ref on input line 25.
LaTeX Info: Redefining \pageref on input line 25.
LaTeX Info: Redefining \nameref on input line 25.
 [2


]
Chapter 1.
! Missing \endcsname inserted.
<to be read again> 
               \@ne 
l.29  \section
          {Symbole und Auszeichnungen}
The control sequence marked <to be read again> should
not appear between \csname and \endcsname.

! Missing \endcsname inserted.
<to be read again> 
               \@ne 
l.29  \section
          {Symbole und Auszeichnungen}
The control sequence marked <to be read again> should
not appear between \csname and \endcsname.

! Missing \endcsname inserted.
<to be read again> 
               \BKM@style@\@ne  
l.29  \section
              {Symbole und Auszeichnungen}
The control sequence marked <to be read again> should
not appear between \csname and \endcsname.

! Extra \endcsname.
\KVS@ProcessorDefault ...sname KV@#1@#2\endcsname 
                                              \unless \ifcsname KVS@#1@h...
l.29  \section
              {Symbole und Auszeichnungen}
I'm ignoring this, since I wasn't doing a \csname.


! Package kvsetkeys Error: Undefined key `\BKM@style@\@ne  '.

See the kvsetkeys package documentation for explanation.
Type  H <return>  for immediate help.
 ...                                              

l.29  \section
          {Symbole und Auszeichnungen}
The keyval family of the key `\BKM@style@\@ne  ' is `BKM'.
The setting of the key is ignored because of the error.

Try typing  <return>  to proceed.
If that doesn't work, type  X <return>  to quit.

Package atveryend Info: Executing hook `BeforeClearDocument' on input line 30.
[3

誰も私のせいだと気づかないのであれば、それはバグの可能性がありますので、数日後に報告します。

よろしくお願いいたします

編集2:

このコマンドでコンパイルします。

set B=C:\tex\miktex\bin\
set gs_path=d:\peter\Programme\gs\gs9.10\bin\
%B%latex --enable-write18 --src -interaction=nonstopmode --save-size=80000 MWE.tex
%B%dvips -P pdf -D1200 MWE.dvi"
%gs_path%gswin32c.exe -sPAPERSIZE=a4 -dNOSAFER -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -sOutputFileMWE.pdf -c save pop -f MWE.ps

ピーター

答え1

を使用するとエラーが発生しますscrreprt。これは、

% scrreprt.cls, line 2874:
\newcommand\section{%
  \@startsection{section}{\sectionnumdepth}{\z@}%
  {-3.5ex \@plus -1ex \@minus -.2ex}%
  {2.3ex \@plus.2ex}%
  {\ifnum \scr@compatibility>\@nameuse{scr@[email protected]}\relax
    \setlength{\parfillskip}{\z@ plus 1fil}\fi
    \raggedsection\normalfont\sectfont\nobreak\size@section}%
}

そしてまた

% scrreprt.cls, line 2397:
\newcommand*{\sectionnumdepth}{\@ne}

セクションのブックマークが構築されるとき、\BKM@currentlevel次のように定義されます。

\xdef\BKM@currentlevel{<second argument to \startsection>}

この場合は、

\gdef\BKM@currentlevel{\@ne}

は展開できないためです\@ne。しかし、 は\BKM@currentlevel内で使用され\csname...\endcsname、 は\@ne不正です。

修正方法は次のとおりです(Heiko Oberdiek 氏の提案):hypdvips変更をロードした後、次のよう\@startsectionに再定義します。

\makeatletter
\def\@startsection#1#2#3#4#5#6{%
  \bookmarksetup{style=pp@bmstyle@empty}%
  \ifx\@M#2%
    \xdef\BKM@currentlevel{1}%
  \else
    \xdef\BKM@currentlevel{\number#2}%
  \fi
  \@ifundefined{BKM@style@\BKM@currentlevel}{}{\bookmarksetup{style=\BKM@currentlevel}}%
  \pp@backup@@startsection{#1}{#2}{#3}{#4}{#5}{#6}%
}
\makeatother

おそらくより簡単な回避策は、次\sectionのようにパッチを当てることです\number\sectionnumdepth:

\documentclass{scrreprt}
\usepackage[utf8]{inputenc} % Uses the utf8 input encoding
\usepackage{etoolbox}
\usepackage[pdfencoding=auto]{hyperref} % don't forget the option
\usepackage{hypdvips}

\patchcmd{\section}{\sectionnumdepth}{\number\sectionnumdepth}{}{}

\begin{document}

\chapter*{Impressum}

\chapter{Zu diesem Dokument} 

Dieses Installationsanleitung erläutert alle Themen um den -Client installieren 
zu können und ist als Leitfaden mit Zusatzinformationen aufgebaut. Bestimmte 
abgebildete windowsspezifische Programmelemente können in den Windowsversionen 
abweichen, gelten aber sinngemäß.

\section{Symbole und Auszeichnungen}

\section{Want to use command from package hypdvips}
\attachfile[description={MNWEB.log},flags=0000000001, mimetype=application/txt]{MNWEB.log}
\end{document}  

関連情報