Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

正文中引用英文文献作者时 'et al.' 改成“等”以及去掉'et al.' 前后的空格 #120

Closed
yangtzech opened this issue Mar 16, 2023 · 5 comments

Comments

@yangtzech
Copy link

yangtzech commented Mar 16, 2023

目前我使用的方法是:

\citeauthor{key}提出了一种方法 \cite{key}。

得到的结果是

A et al. 提出了一种方法[1]。

但我想要的效果是:

A等提出了一种方法[1]。

citeauthor正文中引用英文论文时,
1、把英文的et al.改成等
2、去掉等前后的空格

我使用的模板是https://github.com/1FCENdoge/SYSUThesis ,尝试了使用\newcommand\bibetal{等} \newcommand\biband{和}没有效果

update: 我找了相关的issue mohuangrui/ucasthesis#95,但是其中提到地ucas分支好像找不到了

@zepinglee
Copy link
Owner

#0 'terms.in.macro :=

将这里改成 #1andet al. 会以宏的形式输出。

FUNCTION {citation.and}
{ terms.in.macro
{ "{\biband}" }
'bbl.and
if$
}
FUNCTION {citation.et.al}
{ terms.in.macro
{ "{\bibetal}" }
'bbl.et.al
if$
}

@yangtzech
Copy link
Author

英文作者中et al. 的确变成了等,但是等的前后还有空格。

个人理解,还应该去掉空格,不知是否正确,以及是否可以实现
1)英文作者中 等 后面的空格应该去掉
A 等 提出了一种方法[1]。
2)中文作者中 等 前后的空格都应该去掉
张三 等 提出了一种方法[1]。

@zepinglee
Copy link
Owner

zepinglee commented Mar 19, 2023

姓名与“等”之间的空格是沿用国标的著者-出版年制的格式。
Screenshot 2023-03-19 at 23 32 46

如果想去掉可以将这部分

{ bbl.space *
citation.et.al *
#1 'namesleft :=
}

改成

        { entry.lang lang.zh =
            'skip$
            { bbl.space * }
          if$
          citation.et.al *
          #1 'namesleft :=
        }

\citeauthor后有一小段空白,而且用luatex 编译出的空白比 xetex 要大。感觉比较复杂,需要再分析 \citeauthor 的底层命令。

\documentclass{ctexart}

\usepackage[sort]{gbt7714}

\begin{document}

陈登原提出了一种\par
\citeauthor{4.1.2:1}提出了一种\par
\citeauthor{4.2.2:3}提出了一种\par
\citeauthor{4.4.2:9}提出了一种

\bibliographystyle{gbt7714-numerical}
\bibliography{standard}

\end{document}

BibTeX 输出的 .bbl 片段:

\bibitem[陈登原(2000)]{4.1.2:1}
陈登原.
\newblock 国史旧闻: 第 1 卷\allowbreak[M].
\newblock 北京: 中华书局, 2000: 29.

\bibitem[陈晋镳{\bibetal}(1980)陈晋镳, 张惠民, 朱士兴, 赵震, and
  王振刚]{4.2.2:3}
陈晋镳, 张惠民, 朱士兴, 等.

xetex:
Screenshot 2023-03-19 at 23 44 12

luatex:
Screenshot 2023-03-19 at 23 44 42

@yangtzech
Copy link
Author

好的,我试试。主要是中文环境下感觉留空很奇怪。

@yangtzech
Copy link
Author

其实我发现这样用 \citeauthor{} 并不方便, \citeauthor{} 中还要放入 key,但对于英文文献而言,如果使用better bibtex导出key的话,是包含有第一个作者的姓的,直接根据key来写就好了。麻烦你了。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants