Sophanatprime / cus

CusTeX
8 stars 4 forks source link

`cus` 是否有接口将 `numbering=false` 的 `\chapter` 添加到目录? #9

Closed xkwxdyy closed 1 month ago

xkwxdyy commented 1 month ago

MWE

主要的场景就是添加参考文献:

\documentclass{book}
\usepackage{ctex}
\usepackage{cus}
\enablecombinedlist

\bibliographystyle{plain}

\begin{document}

\tableofcontents

test\cite{key}

\bibliography{test}

\end{document}

其中 test.bib 的内容:

@article{key,
  author          = {Author, A. and Buthor, B.},
  journal         = { Journal of Something },
  number          = { 1 },
  title           = { Title of the article },
  volume          = { 1 },
  year            = { 2024 }
}

使用 latexmk -latex 编译后可以看到参考文献这个章节标题并没有添加到目录:

image

如果是显式的

\chapter{xxx}

...

还可以用 \addcontentsline{toc}{chapter}{xxx} 来添加,但是这个 \bibliography 并不是显式的。

尝试

我只想到两种方法

但是这两个方式对一般用户要求有点高了,而且并不方便,我看了一下 cus-cn.pdf 没有找到(可能是我遗漏了)相应的接口,请问这个需求 cus 可以实现吗?

Sophanatprime commented 1 month ago

cus 标题的 mode=normalnumbering=true)和 mode=nonumbernumbering=false)这两种模式会添加目录、书签、页眉等,它们的区别只有编号与否。而 mode=starred 和加了星号的标题一样,不会编号,也没有目录等。

而常见环境和命令的都是直接给标题加上星号,但是在 cus 里,带星号的标题优先级比设置 mode 更高,因此不能用 mode=nonumber 取消它。是不是应该把 mode 的优先级调高,我还没想好,但是命令带星号更靠近内层,理论上不应该被外层的 \setuptitle 改变。

biblatex 里,可以直接用 \defbibheading{bibliography}[\bibname]{\section[mode=nonumber]{#1}} 修改(也可以不设置 mode,而是在外层用 \setuptitle{mode=nonumber} 设置),其它情况只能重新定义了。

xkwxdyy commented 1 month ago

非常感谢,您这个项目内容太多了,手册的例子暂时有点少,有些键值就没有太明白含义,或者可能只是浏览了一下,没太注意。

https://github.com/Sophanatprime/cus/issues/8 解决之后我也就直接用 biblatex 了,用 bibtex 只是临时之举。

biblatex 那个还有一个处理也可以,加 heading=bibintoc 选项

\printbibliography[heading=bibintoc]