当我同时使用titlesec
、hyperref
和时algorithm2e
,之后的部分\appendix
编号不正确。
\documentclass{article}
\usepackage{titlesec}
\usepackage{hyperref}
\usepackage{algorithm2e}
\begin{document}
\section{foo}
\appendix
\section{bar}
\end{document}
编译时出现警告
pdfTeX 警告(ext4):具有相同标识符(name{section.1})的目标已被使用,重复项被忽略
果然,.aux 文件显示
\@writefile{toc}{\contentsline {section}{\numberline {1}foo}{1}{section.1}}
\@writefile{toc}{\contentsline {section}{\numberline {A}bar}{1}{section.1}}
- 删除
titlesec
将第二个更改section.1
为appendix.1
。 - 删除
algorithm2e
将第二个更改section.1
为section.A
。 - 删除两者会将第二个更改
section.1
为appendix.A
。
不同于上次我尝试了所有六种包的排列组合,但是没有成功。
这样的组合包能起作用吗?
答案1
最后加载总是好的hyperref
。(但你是对的,这并不能解决你的问题。)我认为问题的主要根源是algorithm2e
。基于 这次讨论(德语)这里似乎有几种可能的解决方案。最简单的两个是:
添加
\renewcommand*{\theHsection}{\thesection}
加载后hyperref
。
或者
添加
\let\chapter\undefined
加载后algorithm2e
。
\documentclass{article}
\usepackage{titlesec}
\usepackage{algorithm2e}
\let\chapter\undefined % use this line
\usepackage[]{hyperref}
%\renewcommand*{\theHsection}{\thesection} % or this one
\begin{document}
\section{foo}
\appendix
\section{bar}
\end{document}