tuna / thuthesis

LaTeX Thesis Template for Tsinghua University
https://www.ctan.org/pkg/thuthesis
LaTeX Project Public License v1.3c
4.58k stars 1.08k forks source link

Author-year引用格式下\inlinecite{}意义不明 #464

Closed zeyu42 closed 4 years ago

zeyu42 commented 4 years ago

编译环境

编译的系统:Windows 10 TeX 发行版:TeX Live 2019 模板版本:v5.4.5 模板类型:bachelor

描述问题

其实我觉得这个问题跟环境没有关系。author-year引用格式有两种用法。可以像这样:“人名(年份)指出,……”也可以这样:“……(人名, 年份)”在thuthesis里面,前者使用\cite{},后者使用\inlinecite{}。在用numeric引用格式的时候,这两个名称是合适的;但在author-year里面,就不太合适,因为引用总是inline的。我觉得可以参考apalike,再创建一个\citet{},其行为与\inlinecite{}一致,这样更符合习惯。

截图:

这是目前author-year格式下,\cite{}的效果: image image

这是目前author-year格式下,\inlinecite{}的效果: image image

复现上述问题的代码:

\documentclass[degree=doctor]{thuthesis}
\bibliographystyle{thuthesis-author-year}
\begin{document}
abc\inlinecite{whatever}
\end{document}
zepinglee commented 4 years ago
  1. 模板是基于 natbib 处理文献引用的,所以已经提供了你描述的 \citet,具体参考 natbib 的文档,但是在 thuthesis 的文档中没有提到,欢迎提 pull request。

  2. \inlinecite 是顺序编码制中区别于默认的角标式,在 author-year 式中没有意义,所以不应该这样使用。

zeyu42 commented 4 years ago
  1. 模板是基于 natbib 处理文献引用的,所以已经提供了你描述的 \citet,具体参考 natbib 的文档,但是在 thuthesis 的文档中没有提到,欢迎提 pull request。

我尝试了在author-year模式下使用\citet。其实我对LaTeX不太熟悉,但VSCode(LaTeX Workshop)的自动补全里没有\citet

image

尽管如此,\citet可以通过编译,不过其行为跟\cite一样,仍旧是“作者(年份)”,而非想要的“(作者, 年份)”。

zepinglee commented 4 years ago

我尝试了在author-year模式下使用\citet。其实我对LaTeX不太熟悉,但VSCode(LaTeX Workshop)的自动补全里没有\citet

这应该是 LaTeX-Workshop 的锅。

尽管如此,\citet可以通过编译,不过其行为跟\cite一样,仍旧是“作者(年份)”,而非想要的“(作者, 年份)”。

natbib 文档第 8 页:

This means that \cite (without notes) is the same as \citet in author– year mode, whereas in numerical mode, it is the same as \citep.

你说的“(作者, 年份)”对应的是 \citep (parenthesis)

zeyu42 commented 4 years ago

问题解决了,感谢。

有关pull request,现在这份文档里使用的是numeric引用格式,而我不知道怎样才能在同一篇文档里同时使用numeric和author-year两种格式。或许CTAN上的文档更加适合做此说明,但那份文档似乎又不在这个repo里面,所以没法提交了。抱歉。

xueruini commented 4 years ago

或许CTAN上的文档更加适合做此说明,但那份文档似乎又不在这个repo里面,所以没法提交了

那个文档来自 thuthesis.dtx

zeyu42 commented 4 years ago

OK,虽然不太懂dtx是啥,但是照葫芦画瓢写了一下,已提交pull request到v6.0.2-dev分支。感谢。