cleveref
我对和有一些问题titlesec
,下面提供一个最小的工作示例:
\documentclass{report}
\usepackage{titlesec} %% <-- the issue as far as i know, but i need the package
\usepackage{hyperref}
\usepackage{cleveref}
\begin{document}
\chapter{ninjas are okay}
some text \cref{app:ninja_bkg} bla bla and \cref{app:ninja_fail}
\appendix
\chapter{ninja background}
\label{app:ninja_bkg}
ninjas originated from ???
\section{ninja fail}
\label{app:ninja_fail}
usually ninjas dont fail, but sometimes they do
\end{document}
中间的线产生:
一些文本附录 A bla bla 和部分A.1
但我想要:
一些文本附录 A bla bla 和附录A.1
如果我删除titlesec
包,一切都会正常,但不幸的是我需要它。猜测titlesec
重新定义\section
,但我不够擅长乳胶黑客来修复它=/
答案1
您可以使用(如cleveref
的文档中所述)\crefname
、\Crefname
和命令的可选参数\label
为附录中的章节提供新的“类型”;一个小例子:
\documentclass{report}
\usepackage{titlesec}
\usepackage{hyperref}
\usepackage{cleveref}
\crefname{secinapp}{appendix}{appendices}
\Crefname{secinapp}{Appendix}{Appendices}
\begin{document}
\chapter{Test chapter}\label{testchap}
\section{test section}\label{testsec}
A reference to a regular section: \cref{testsec}, and a reference to a section in appendix: \cref{testsecapp}
\appendix
\chapter{Test appendix}\label{testapp}
\section{Test section in app}\label[secinapp]{testsecapp}
\end{document}
文档cleveref
给出了有关使用该包的提示aliascnt
,以避免必须使用新类型的可选参数(不过,我还没有测试过这种方法)。