Hyperref 包崩溃

Hyperref 包崩溃

我对 Latex 还不太熟悉,我正在做一个代数项目。过了一段时间,我了解到hyperref这将有助于解决这个问题,\autoref而不必每次都贴标签。然而,每当我尝试包含包时,由于某种原因,它会在编译中崩溃。序言是这样的

\documentclass[a4paper,11pt]{book}
\usepackage[utf8]{inputenc}
\usepackage{graphicx,wrapfig,lipsum}
\pagenumbering{arabic}
\usepackage[margin=1in]{geometry} 
\usepackage{amsmath,amsthm,amssymb,amsfonts}
\usepackage{thmtools}
\setlength{\topmargin}{-1in}
\setlength{\textwidth}{7in}
\setlength{\oddsidemargin}{-.25in}
\setlength{\textheight}{9in}
\usepackage{titling}
\usepackage{tikz}
\usetikzlibrary{trees}
\usepackage{qtree}
\usetikzlibrary {positioning}
\usetikzlibrary{trees}
\usepackage[english,greek]{babel}
\newtheorem{theorem}{Θεώρημα}[chapter]
\newtheorem{corollary}{Πρόταση}[chapter]
\newtheorem{lemma}{Λήμμα}[chapter]
\newtheorem{definition}{Ορισμός}[chapter]

\usepackage{paracol}
\usepackage[T1]{fontenc}
\newenvironment{problem}[2][\en Problem]{\begin{trivlist}
        \item[\hskip \labelsep {\bfseries #1}\hskip \labelsep {\bfseries #2.}]}{\end{trivlist}}
\usepackage{mathtools}
\usepackage{enumitem}
\usetikzlibrary{calc}
\usepackage{caption}
\usepackage{subcaption}
\newcommand\tikzmark[1]{%
    \tikz[remember picture,overlay]\node (#1) {};%
}
\newcommand\Connect[3][]{%
    \tikz[remember picture,overlay]
    \draw[<->,red,>=latex,#1] (#2.north east) -- ( $ (#3.north west) + (-20pt,0) $ );%
}
\author{Χναράς Φοίβος\\ \large επιβλέπουσα: κ.Χαραλάμπους}
\title{Εισαγωγή στην Αλγεβρική Γεωμετρία \\ \large Ειδικό Θέμα}
\usepackage{hyperref}
\begin{document}
\maketitle
\tableofcontents
\chapter{Αφφινικά Αλγεβρικά σύνολα και Αγλεβρικά \en varieties \gr  }
\section{Τοπολογία \en Zariski \gr }
blah blah... 
     \begin{paracol}{3}

        \subsection*{$k^n=k\times k \times ... \times k$}
            \switchcolumn \subsection*{}
        \switchcolumn \subsection*{$k[X_1,...,X_n]$} 
        \switchcolumn \subsection*{$\bigcup$} 
        \switchcolumn \subsection*{}
        \switchcolumn \subsection*{$\bigcup$} 
        \switchcolumn \subsection*{$V(S)$} 
        \switchcolumn \subsection*{$\rightleftarrows$}
        \switchcolumn \subsection*{$S$} 
         \end{paracol}
\end{document}

当我尝试编译时,它失败了,并弹出消息

Argument of \bbl@tempd has an extra }. ...� Αγλεβρικά \en varieties \gr }

Paragraph ended before \bbl@tempd was complete. ...� Αγλεβρικά \en varieties \gr }

Paragraph ended before \HyPsd@@ProtectSpacesFi was complete. ...� Αγλεβρικά \en varieties \gr }

Use of \HyPsd@RemoveMask doesn't match its definition. ...� Αγλεβρικά \en varieties \gr }

Undefined control sequence. ...� Αγλεβρικά \en varieties \gr }



Extra }, or forgotten \endgroup. ...� Αγλεβρικά \en varieties \gr }

Argument of \HyPsd@CheckCatcodes has an extra }. ...� Αγλεβρικά \en varieties \gr }

以此类推。第一章是导论,没有列举。第一个问题出现在第一章(列举了)。

不用说,没有这个,hyperref编译也没有问题。如果有人能帮忙,我将不胜感激。

答案1

将第 46 行和第 47 行替换为:

\chapter{Αφφινικά Αλγεβρικά σύνολα και Αγλεβρικά  \textlatin{varieties}  }
\section{Τοπολογία \textlatin{Zariski} }

而不是使用,\en而且每当您想用英语书写时\gr使用会更安全。\textlatin{}

答案2

第一版的宏

\newcommand{\en}{\selectlanguage{english}}
\newcommand{\gr}{\selectlanguage{greek}}

缺失修订 4。它们用于章节标题:

\chapter{Αφφινικά Αλγεβρικά σύνολα και Αγλεβρικά \en varieties \gr  }

\selectlanguage不应以这种方式使用,因为它会改变文档语言,而不仅仅是一个单词的语言。软件包babel提供\foreignlanguage

\chapter{Αφφινικά Αλγεβρικά σύνολα και Αγλεβρικά \foreignlanguage{english}{varieties}}

要消除由书签字符串\selectlanguage\en和中引起的错误:\gr

\pdfstringdefDisableCommands{%
  \let\en\relax
  \let\gr\relax
}

此外,建议使用以下选项(支持 UTF-8 字符并更好地支持书签中的数学符号):

\usepackage[pdfencoding=auto, psdextra]{hyperref}

相关内容