这是对关于 memoir 和 titlesec 不兼容。 这titlesec
手册指出(第 2 页),该包
[...] 可以与标准类以及许多其他类(包括 AMS 类)配合使用 [...] 不幸的是,它与
memoir
[...]不兼容
手册中没有提到KOMA-Script
类。那么,titlesec
和可以KOMA-Script
毫无问题地一起使用吗,或者是否存在一些不兼容性(或者至少是必须特别小心的情况)?
答案1
我自己从未使用过这种组合,但使用您最喜欢的引擎进行搜索应该会显示存在一些不兼容性,例如(全部为德语):
包裹
titlesec
和 KOMA 书面声明\setindexpreamble
(它原本是一篇 usenet 帖子,但是已归档的 Google 群组版本已损坏KOMA-Script
; Markus Kohm 给出了一个有趣的答案,他是)的作者titlesec
和scrpage
2(Markus Kohm 的网站上有他的回答)结束语 <-> 概要(再次访问 komascript.de)
广场前及之后部分路段(再次访问 Markus Kohm 的网站并查看他的回答)
请参阅我的这个答案,了解观察到的其他不兼容性:无法使用 titlesec 移动/定位 \chapter?。
2014 年初更新
在最近发布的 KOMA-Script 3.12 版本中,编译以下内容的文档时会收到警告titlesec
:
Class scrartcl Warning: Usage of package `titlesec' together (scrartcl) with a KOMA-Script class is not recommended. (scrartcl) I'd suggest to use the package only (scrartcl) if you really need it, because it breaks several (scrartcl) KOMA-Script features, i.e., option `headings' and (scrartcl) the extended optional argument of the section (scrartcl) commands .
答案2
这些KOMA-Script
类提供命令\addpart
、\addchap
和 ,\addsec
它们将启动一个新的未编号的部分/章节/节,但仍然会添加到目录中。如果将 、 和 组合在一起KOMA-Script
,titlesec
请确保在重新定义的 的参数中hyperref
添加-- ,否则,的目录链接将指向错误的页面。\phantomsection
after
\section
\titleformat
\addsec
\documentclass{scrartcl}
\usepackage{titlesec}
% Incorrect ToC link to \addsec
% \titleformat{\section}{\Huge\sffamily}{\thesection}{0.5em}{}
% Correct ToC link to \addsec
\titleformat{\section}{\Huge\sffamily}{\thesection}{0.5em}{\phantomsection}
\usepackage{hyperref}
\begin{document}
\tableofcontents
\clearpage
\section{foo}
\clearpage
\addsec{bar}
\end{document}
答案3
目前,titlesec
(2.10.1 版)与 KOMA 脚本完全不兼容。以下最小示例甚至无法再编译:
\documentclass{scrartcl}
\usepackage{titlesec}
\begin{document}
\section{one}
\end{document}
我的系统显示以下错误:
! Missing number, treated as zero.
<to be read again>
}
l.5 \section{one}
?
! Illegal unit of measure (pt inserted).
<to be read again>
}
l.5 \section{one}
?
! Missing number, treated as zero.
<to be read again>
}
l.5 \section{one}
?
! Illegal unit of measure (pt inserted).
<to be read again>
}
l.5 \section{one}
?