如何修复目录中未重定向到正确位置的链接

如何修复目录中未重定向到正确位置的链接

[使用谷歌翻译翻译,略作修改]

我对 Latex 中的目录链接有疑问。目录链接无法重定向到正确的位置。

章节编号已重新开始\setcounter{chapter}{0}

我尝试使用以下代码:

  \usepackage{chngcntr}
     \counterwithin{chapter}{part}
     \def\thechapter{\arabic{chapter}}

来修复链接的问题,但是没有效果。

请注意,例如,指数函数链接没有到达文档中的正确位置。

梅威瑟:

%==============================================
%                PRÉÂMBULO
%==============================================
\documentclass[
10pt, % tamanho da fonte
a4paper, % tamanho do papel
twoside, % impressão frente e verso
openany, % Para iniciar capítulos em páginas pares
]{book}
\usepackage[utf8]{inputenc} %Pacote para acentuação. Não precisa, veja rodapé
\usepackage[T1]{fontenc} %  hifenização  
\usepackage[brazil]{babel} % Para colocar nomes das Partes, capítulos e seções em português brasil. 

\usepackage[left=1.5cm, right = 1.5cm, top=2cm, bottom=2cm]{geometry} %Para alterar as margens do documento
\usepackage[usanames, divpsnames,table,xcdraw]{xcolor} % Modifica as cores

% Para referências e informações do pdf
\usepackage[pdftex,bookmarks,colorlinks]{hyperref}
% Para configuração do sumário
\hypersetup{colorlinks,
citecolor=black,
filecolor=black,
linkcolor=black,
urlcolor=black,
}

% Para corrigir links do sumário
\usepackage{chngcntr}
\counterwithin{chapter}{part}
\def\thechapter{\arabic{chapter}}

% Estilo de capítulo 
\usepackage{titlesec, blindtext, color}



% Para estilo de cabeçalho

\def\MakeUppercase{}
\usepackage{fancyhdr}
\lhead[]{\textit{\hspace{.1pt} \rightmark}}
\chead{}
\rhead[\textit{\hspace{.1pt} \leftmark}]{}
\pagestyle{fancy}

\usepackage{tocloft}

%-----------------------------------------------
%    Capa, Sumário e Lista de figuras
%-----------------------------------------------
\begin{document}

\pagenumbering{roman}% Altera a numeração do sumário para algarismo romano
% Sumário
\renewcommand{\contentsname}{\vspace{-1cm} Sumário}
\begin{center}
\pagestyle{plain}
\tableofcontents
\thispagestyle{plain}
\end{center} % Cria sumário
\newpage
% Estilo de capitulo
\titleformat{\chapter}[display]{\raggedleft}{\fontsize{25}{60}\vspace{-3cm}\selectfont\chaptername\hspace{0.3cm}\thechapter}{0pt}{\fontsize{25}{10}\bfseries}%[\rule{0.1\linewidth}{10pt}]
%==============================================
%          INÍCIO DO DOCUMENTO
%===============================================
\pagenumbering{arabic}% Altera a numeração novamente para algarismo arábico

\part{Ensino Fundamental}
\setcounter{chapter}{0}
\chapter{Sistemas de Numeração}
\input{A1_Sistemas de Numeração}


\newpage
\part{Ensino Médio}
\addcontentsline{toc}{chapter}{1° Ano}
\input{1° ano}
\chapter{Conjuntos}
\input{B1_Conjuntos}

\newpage
\addcontentsline{toc}{chapter}{2° Ano}
\input{2° ano}
\setcounter{chapter}{0}
\chapter{Função Exponencial}
\input{Função Exponencial}

\newpage
\addcontentsline{toc}{part}{3° Ano}
\input{3° ano}
\chapter{Função Exponencial}
\input{Função Exponencial}

\end{document}

葡萄牙语原文:

如何更改链接,无法重定向到本地链接

我发现 Latex 中的摘要链接存在问题。上述链接无法重定向至本地页面。

各章的编号为\setcounter{chapter}{0}

天帝使用者

 \usepackage{chngcntr}
    \counterwithin{chapter}{part}
    \def\thechapter{\arabic{chapter}}

为了纠正带有链接的问题,它们不再起作用。

请注意,指数函数的链接,例如,在文档中的本地副本中不是 ind。

有人可能会帮助我,拜托。因此我未能成功配置我的文件夹。

继续我的 MWE。从此我感谢上帝赐予我一切。

答案1

我建议按照部分、章节和节到 Ensino、Ano 和 Curso 的层次结构来组织文档。

钾

hyperref一般应最后加载,但有一个例外是bookmark为了简化书签管理。

不需要 pdftex 选项,因为当使用的 LaTeX 引擎是 pdflatex 时它会自动提供。

章节/部分的内容被虚拟文本替换,以kantlipsum测试标题。

现在 Sumário 中的链接和 pdf 中的书签指向正确的页面。

测试此代码:

\documentclass[
10pt, % tamanho da fonte
a4paper, % tamanho do papel
twoside, % impressão frente e verso
openany, % Para iniciar capítulos em páginas pares
]{book}
 %\usepackage[utf8]{inputenc} %Pacote para acentuação. Não precisa, veja rodapé
\usepackage[T1]{fontenc} %  hifenização  
\usepackage[brazil]{babel} % Para colocar nomes das Partes, capítulos e seções em português brasil. 

\usepackage[left=1.5cm, right = 1.5cm, top=2cm, bottom=2cm]{geometry} %Para alterar as margens do documento
\usepackage[usanames, divpsnames,table,xcdraw]{xcolor} % Modifica as cores

% Estilo de capítulo 
\usepackage{titlesec, blindtext, color}

\titleformat{\chapter}[display]{\raggedleft}{\fontsize{25}{60}\vspace{-3cm}\selectfont\chaptername\hspace{0.3cm}\thechapter}{0pt}{\fontsize{25}{10}\bfseries}%[\rule{0.1\linewidth}{10pt}]

% Para estilo de cabeçalho
\def\MakeUppercase{}
\usepackage{fancyhdr}
\lhead[]{\textit{ \rightmark}}
\chead{}
\rhead[\textit{\leftmark}]{}
\pagestyle{fancy}

\usepackage{kantlipsum} % added dummy text <<<<<<<<<<<<<<<<

% Para referências e informações do pdf
\usepackage[bookmarks=true,colorlinks]{hyperref} % last package before bookmark
% Para configuração do sumário
\hypersetup{colorlinks,
    citecolor=black,
    filecolor=black,
    linkcolor=blue,
    urlcolor=green,
}

\usepackage{bookmark} % added <<<<<<<<<

\renewcommand{\contentsname}{\vspace{-1cm} Sumário}

%-----------------------------------------------
%    Capa, Sumário e Lista de figuras
%-----------------------------------------------
\begin{document}
%==============================================
%          INÍCIO DO DOCUMENTO
%===============================================
    \frontmatter %numeração do sumário romano
            
    \thispagestyle{plain}
    \pdfbookmark[0]{Sumário}{toc}
    \tableofcontents    % Sumário   

    \mainmatter %numeração algarismo arábico
    \part{Ensino Fundamental}

    \chapter{Nivelamento}
    \section{Sistemas de Numeração}
    1. \kant[1-8]

    \part{Ensino Médio}
    
    \chapter{1° Ano}    
    2. \kant[2-8]

    \section{Conjuntos}         
    3. \kant[3-10]
    
    \chapter{2° Ano}    
    4. \kant[4]

    \section{Função Exponencial I}
    5. \kant[5-12]

    \chapter{3° Ano}
    6. \kant[6]
    
    \section{Função Exponencial II}
    7. \kant[7-19]
    
\end{document}

米

这是另一种可能的目录,使用非编号章节,如

\chapter*{1° Ano}
\addcontentsline{toc}{chapter}{1° Ano}  

钾

答案2

[抱歉我迟到了。]

使用分段命令来创建超链接目标的名称时,会使用宏。 链接到节标题的目标的名称由 组成。 (也会影响目标名称的创建,但似乎这不是问题。)\theH⟨counter

name of counter⟩.\theH⟨counter
\HyperDestNameFilter

因此,每个宏都必须启动执行基于扩展的算法,以便该算法的结果可以被视为数据库的“主键”字段的条目,该数据库保存使用相关计数器创建的每个分段项目的条目。\theH⟨counter

在您的场景中,主要问题是部分编号和章节编号的组合不会成为识别章节数据库的每个条目的“主键”。这是因为在同一部分中,在输入一些文件后,章节计数器会被重置X°ano.tex

如果你步进(但不一定打印)一个计数器,我们称之为“ano”,每次一个文件X°ano.tex是输入,那么部分编号和 ano-counter 的值以及章节编号的组合可能确实会构成用于识别章节数据库的每个条目的“主键”。

以下示例创建虚拟文件

  • A1_数字系统.tex
  • 1° 阳极
  • B1_Conjuntos.tex
  • 2° 阳极
  • Exponencial 函数.tex
  • 3° 阳极氧化铝

这样\inout命令就可以起作用,并且您可以测试通过单击超链接进行导航是否有效。

在运行示例之前,请确保没有覆盖任何已存在的文件。

这取决于你。我不承担任何责任。

[使用你的最小展示示例文件Exponencial 函数.tex输入两次。这可能不符合实际生活场景的需要。

[依我拙见,预定的编号系统无法确保读者的清晰度。但决定权在您手中。]

\begin{filecontents*}{A1_Sistemas de Numeração.tex}
{\huge \verb|A1_Sistemas de Numeração.tex|}
\end{filecontents*}

\begin{filecontents*}{1° ano.tex}
{\huge \verb|1° ano.tex|}
\end{filecontents*}

\begin{filecontents*}{B1_Conjuntos.tex}
{\huge \verb|B1_Conjuntos.tex|}
\end{filecontents*}

\begin{filecontents*}{2° ano.tex}
{\huge \verb|2° ano.tex|}
\end{filecontents*}

\begin{filecontents*}{Função Exponencial.tex}
{\huge \verb|Função Exponencial.tex|}
\end{filecontents*}

\begin{filecontents*}{3° ano.tex}
{\huge \verb|3° ano.tex|}
\end{filecontents*}

%==============================================
%                PRÉÂMBULO
%==============================================
\documentclass[
10pt, % tamanho da fonte
a4paper, % tamanho do papel
twoside, % impressão frente e verso
openany, % Para iniciar capítulos em páginas pares
]{book}
\usepackage[utf8]{inputenc} %Pacote para acentuação. Não precisa, veja rodapé
\usepackage[T1]{fontenc} %  hifenização  
\usepackage[brazil]{babel} % Para colocar nomes das Partes, capítulos e seções em português brasil. 

\usepackage[left=1.5cm, right = 1.5cm, top=2cm, bottom=2cm]{geometry} %Para alterar as margens do documento
\usepackage[usanames, divpsnames,table,xcdraw]{xcolor} % Modifica as cores

% Para referências e informações do pdf
\usepackage[pdftex,bookmarks,colorlinks]{hyperref}
% Para configuração do sumário
\hypersetup{colorlinks,
citecolor=black,
filecolor=black,
linkcolor=black,
urlcolor=black,
}

% Para corrigir links do sumário
\usepackage{chngcntr}
\counterwithin{chapter}{part}
\def\thechapter{\arabic{chapter}}
\newcounter{ano}

%--------------------------------------------------------------------------------------
% \anoinput{<file>}{<counter/sectioning-level>}{<phrase in toc>}
\newcommand\anoinput[3]{%
  \refstepcounter{ano}\addcontentsline{toc}{#2}{#3}\input{#1}%
}%
% Você precisa de um conjunto de dados que forme uma chave primária para identificar cada capítulo:
\def\theHchapter{\theHpart.\theHano.\number\value{chapter}}
%--------------------------------------------------------------------------------------

% Estilo de capítulo 
\usepackage{titlesec, blindtext, color}



% Para estilo de cabeçalho

\def\MakeUppercase{}
\usepackage{fancyhdr}
\lhead[]{\textit{\hspace{.1pt} \rightmark}}
\chead{}
\rhead[\textit{\hspace{.1pt} \leftmark}]{}
\pagestyle{fancy}

\usepackage{tocloft}

%-----------------------------------------------
%    Capa, Sumário e Lista de figuras
%-----------------------------------------------
\begin{document}

\pagenumbering{roman}% Altera a numeração do sumário para algarismo romano
% Sumário
\renewcommand{\contentsname}{\vspace{-1cm} Sumário}
\begin{center}
\pagestyle{plain}
\tableofcontents
\thispagestyle{plain}
\end{center} % Cria sumário
\newpage
% Estilo de capitulo
\titleformat{\chapter}[display]{\raggedleft}{\fontsize{25}{60}\vspace{-3cm}\selectfont\chaptername\hspace{0.3cm}\thechapter}{0pt}{\fontsize{25}{10}\bfseries}%[\rule{0.1\linewidth}{10pt}]
%==============================================
%          INÍCIO DO DOCUMENTO
%===============================================
\pagenumbering{arabic}% Altera a numeração novamente para algarismo arábico

\part{Ensino Fundamental}
\setcounter{chapter}{0}
\chapter{Sistemas de Numeração}
\input{A1_Sistemas de Numeração}


\newpage
\part{Ensino Médio}
\anoinput{1° ano}{chapter}{1° Ano}
\chapter{Conjuntos}
\input{B1_Conjuntos}

\newpage
\anoinput{2° ano}{chapter}{2° Ano}
\setcounter{chapter}{0}
% Really want to input the same file twice????
\chapter{Função Exponencial}
\input{Função Exponencial}

\newpage
\anoinput{3° ano}{part}{3° Ano}
\chapter{Função Exponencial}
% Really want to input the same file twice????
\input{Função Exponencial}

\end{document}

相关内容