如何使用 (dvi)latex 将 hyperref 和 classicthesis 结合起来而不会出现错误。

如何使用 (dvi)latex 将 hyperref 和 classicthesis 结合起来而不会出现错误。

我正在尝试使用 latex 命令使该文档正常工作。

\documentclass{scrreprt}
\usepackage[english]{babel}
\usepackage{subfig}
\usepackage{hyperref}
\usepackage{classicthesis}%
\begin{document}
\chapter{Intro}
\label{chap:intro}
\end{document}

我不断遇到以下错误:

(/usr/local/texlive/2010/texmf-dist/tex/latex/microtype/mt-ppl.cfg)
Chapter 1.
! Use of \@chapter doesn't match its definition.
\@uclclist ->\oe 
                 \OE \o \O \ae \AE \dh \DH \dj \DJ \l \L \ng \NG \ss \SS \th...
l.7 \chapter{Intro}

我知道这是 hyperref 和 classicthesis 的组合导致的,但除了禁用 hyperref 之外,我不知道还有什么好的解决方法。有人有让这个示例正常工作的优雅方法吗?

答案1

classicthesis使用 加载 hyperref 包pdflatex。由latex-ps-pdf包决定不加载 hyperref 并放弃某些功能。

\documentclass{scrreprt}
\usepackage[english]{babel}
\usepackage{subfig}

\let\myoldchap=\chapter
\usepackage{classicthesis}%
\usepackage{hyperref}
\renewcommand{\tocEntry}[1]{% for bib, etc.
 \texorpdfstring{\spacedlowsmallcaps{#1}}{#1}%
    }


\renewcommand*{\chapter}{\secdef{\Chap}{\ChapS}}
\renewcommand\ChapS[1]{\myoldchap*{#1}}%
\renewcommand\Chap[2][]{%
    \myoldchap[\texorpdfstring{\spacedlowsmallcaps{#1}}{#1}]{#2}%
         }


\begin{document}
\chapter{Intro}
\label{chap:intro}
\end{document}

顺序非常重要。首先保存原章在加载之前classicthesis也重新定义chapter

相关内容