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

英文caption中的引用显示格式为“A 等”而不是“A et al” #167

Closed
clementinehjy opened this issue May 22, 2019 · 11 comments
Closed

Comments

@clementinehjy
Copy link

image
如图,bicaption中英文caption的参考文献仍为中文格式,是否需要/应该改为“et al”?谢谢!

@mohuangrui
Copy link
Owner

众口难调,以前是 et al,后来按照学位办样例,改为了 等,具体见 #95

你若想再改,见 https://github.com/mohuangrui/ucasthesis/wiki/文献样式

@mohuangrui
Copy link
Owner

不好意思,刚没仔细看你的内容,这个问题比较复杂,涉及到 bicaption,cite,和 bst 的联动。测试了几个方案,还没找到能行的。

@mohuangrui
Copy link
Owner

目前折衷的方案就是:

  1. 先不管,就这样
  2. 使用 numbers 样式而不是 authoryear
  3. 按照 https://github.com/mohuangrui/ucasthesis/wiki/文献样式 将全部的英文引用都改为 et al

@clementinehjy
Copy link
Author

了解了,谢谢!

@muzimuzhi
Copy link
Contributor

muzimuzhi commented May 23, 2019

  1. 标准的做法是通过 polyglossia 包设置语言,一个例子

    % !TeX TXS-program:bibliography = txs:///biber
    % ref: https://tex.stackexchange.com/a/280404/79060
    \documentclass{article}
    \usepackage{polyglossia}
    \setdefaultlanguage[variant=british]{english}
    \setotherlanguage{german}
    
    \usepackage{csquotes}
    \usepackage[style=authoryear]{biblatex}
    \addbibresource{biblatex-examples.bib}
    
    \usepackage{bicaption}
    \captionsetup[bi-second]{lang=german}
    
    \begin{document}
    \begin{figure}
      \bicaption
        {text \cite{sigfridsson}}
        {text \cite{sigfridsson}}
    \end{figure}
    
    \printbibliography
    \end{document}

    输出效果
    image

  2. 然而 polyglossiaxeCJK 可能冲突(见 texdoc xeCJK, sec. 4),而且 polyglossia 没有提供汉语支持,自己做一个需要一些功夫。

  3. 从完成任务的角度,可以尝试绕过这个问题,例如

    • 避免在双语浮动体标题中引用参考文献,把相关的话挪到提到该浮动体的正文里说。例如,(正文部分)见图 \ref{fig:xxx},引自 \citet{...}
    • 也可以考虑,在双语标题的英文部分,手动输入参考文献。例如,\bicaption{中文 \citet{...}}{English Jenni et al.}
      • style= authoryear 时,参考文献的输出内容是固定的,这么做是「比较安全」的,不需要未来频繁手动修改(与 style= numbers 相比)
      • 学位论文的角度,引用参考文献的超链接并非必要;如果需要超链接,折腾一下也可以手动添加。

@hushidong
Copy link

我稍微补充一下,采用biblatex的确是可以解决问题的。这个问题的核心是在西语使用的本地化字符串的替换问题,由于东亚语言的特殊性,又有一些需要特殊处理的问题。这些问题在biblatex-gb7714-2015样式中有一些基本考虑,也给出了解决方案。

对于正文中文献引用,英文文献用等.,和代替et al.和and的问题,可以设置本地化字符串来解决。

对于双语图题中的英文文献,又需要临时调整回英文的习惯用法,这时可以通过局部调整来实现。

比如:



% !Mode:: "TeX:UTF-8"
% 用于测试ucasthesis中应用biblatex-gb7714-2015的情况
%

\documentclass[twoside]{article}
    \usepackage{ctex}
    \usepackage{xcolor}
    \usepackage[colorlinks,citecolor=blue]{hyperref}
\usepackage{bicaption}
\captionsetup[bi-first]{name={图},labelsep=period}
\captionsetup[bi-second]{name={Fig},labelsep=period}
\usepackage[backend=biber,style=gb7714-2015ay,%citestyle=authoryear-comp,%
maxcitenames=2,mincitenames=1,mergedate=none]{biblatex}%,sortcites=false,mergedate=none

\DefineBibliographyStrings{english}{
        andincite         = {和},
        andincitecn       = {和},
        andothersincitecn = {等},
        andothersincite   = {等{\adddot}},%adddot才能避开标点追踪
}

\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@INCOLLECTION{chen1980zhongguo,
  AUTHOR = {陈晋镳 and 张惠民 and 朱士兴 and 赵震 and 王振刚},
  EDITOR = {中国地质科学院天津地质矿产研究所},
  LOCATION = {天津},
  PUBLISHER = {天津科学技术出版社},
  BOOKTITLE = {中国震旦亚界},
  DATE = {1980},
  PAGES = {56--114},
  TITLE = {蓟县震旦亚界研究},
}

@BOOK{chu2004tushu,
  AUTHOR = {初景利 and 陈浩元},
  LOCATION = {北京},
  PUBLISHER = {北京图书馆出版社},
  DATE = {2004},
  TITLE = {图书馆数字参考咨询服务研究},
}

@ARTICLE{betts2005aging,
  AUTHOR = {Betts, Lisa R and Taylor, Christopher P},
  PUBLISHER = {Elsevier},
  DATE = {2005},
  JOURNALTITLE = {Neuron},
  NUMBER = {3},
  PAGES = {361--366},
  TITLE = {Aging reduces center-surround antagonism in visual motion processing},
  VOLUME = {45},
}

@ARTICLE{walls2013drought,
  AUTHOR = {Walls, Susan C. and Barichivich, William J. and Brown, Mary E.},
  URL = {http://www.mdpi.com/2079-7737/2/1/399},
  DATE = {2013},
  DOI = {10.3390/biology2010399},
  JOURNALTITLE = {Biology},
  NUMBER = {1},
  PAGES = {399--418},
  TITLE = {Drought, deluge and declines: the impact of precipitation extremes on amphibians in a changing climate},
  URLDATE = {2013-11-04},
  VOLUME = {2},
}
\end{filecontents}
    \addbibresource{\jobname.bib}
    %

    \begin{document}


1. 标注默认的设置是DefineBibliographyStrings设置的本地化字符串,带cn的用于中文的本地化字符串,因此有结果:
    {
    \cite{chu2004tushu}
    \cite{chen1980zhongguo}
    \cite{walls2013drought}
    \cite{betts2005aging}
    }

2. 如果要做局部调整,那么可以在内部命令中局部调整字符串的内容,比如:
\begin{figure}[!htbp]
  \centering
  \fbox{\parbox{5cm}{example fig\\在双语图题中强制使用某种语言的方式}}
  \bicaption{具体见{\cite{walls2013drought}\cite{betts2005aging}}}
    {See{\makeatletter\csdef{abx@sstr@andothersincite}{et al.}\csdef{abx@sstr@andincite}{and}\makeatother\cite{walls2013drought}
    \cite{betts2005aging}}}\label{fig:bi:lang}
\end{figure}

    

    \end{document} 

当然了,过分追求参考文献并无必要,采用前述的方案都是可以的。

@mohuangrui
Copy link
Owner

@muzimuzhi @hushidong 感谢两位的帮忙和解答。

@hushidong biblatex 确实更为可控,特别是局部调整的能力,当初尝试了在 bicaption 环境中做局部设定,但bibtex无法响应。可惜biblatex还需一定时间才能被广泛接受,特别是期刊排版上,博士论文往往是从期刊文章转移过来的,所以ucasthesis选用了bibtex。

@muzimuzhi 在 authoryear 模式下,

“在双语标题的英文部分,手动输入参考文献。例如,\bicaption{中文 \citet{...}}{English Jenni et al.}”

这个可行性不错,我在 https://github.com/mohuangrui/ucasthesis/wiki/文献样式 进行了总结:

英文引用中的 “和”、“等” 改为 "and"、"et al."

根据学位论文撰写指导文件,英文引用 中的 "and"、"et al." 采用对应的中文 “和”、“等” 替代。如果想改回为英文形式,需在 ucasthesis.cfg 中将

\def\ucas@label@ch@bibetal{等}
\def\ucas@label@en@bibetal{et al.}
\def\ucas@label@ch@biband{和}
\def\ucas@label@en@biband{ and }

改为

\def\ucas@label@ch@bibetal{et al.}
\def\ucas@label@en@bibetal{et al.}
\def\ucas@label@ch@biband{ and }
\def\ucas@label@en@biband{ and }

注意以上方式为全局性修改。如 clementinehjy, issue #167 中所讨论的,如果只是想在 bicaption 中的英文标题部分局部改回英文的 "and"、"et al." 形式,可考虑如下几种方案:

  1. 若使用的为 numbers 样式,则需在 bicaption英文标题部分 使用 \citep{} 而不是 \citet{}。例如:
\bicaption{中文标题。引自 \citet{jenni2006}}{English Title. Cited from Jenni et al. \citep{jenni2006}}
  1. 若使用的为 authoryear 样式,则需在 bicaption英文标题部分 手动输入参考文献 muzimuzhi, issue #167。例如:
\bicaption{中文标题。引自 \citet{jenni2006}}{English Title. Cited from Jenni et al. (2006)}

因为对于给定的文献,其作者和年份总是不变的,所以以上方案皆无需额外维护。

@muzimuzhi
Copy link
Contributor

@mohuangrui

clementinehjy, issue #167 中所讨论的

手动输入参考文献 muzimuzhi, issue #167

看起来你是想引用具体某条 comment,但贴的仍是整个 issue 的链接。可以用以下方式获取每条 comment 单独的 url
image

当初尝试了在 bicaption 环境中做局部设定,但bibtex无法响应。

bibtex 做不到为同一条参考文献生成不同语言版本的引用内容。一条参考文献在引用时能够使用的信息,是写进 .aux 文件里的一条 \bibcite,例如

\bibcite{betts2005aging}{{10}{2005}{{Betts {和} Taylor}}{{Betts and Taylor}}}
% syntax, from def of \NAT@split in natbib.sty
% \bibcite{<item name>}{{num}{date}{name}{names}}

所以修改 \biband\bibetal 无法局部改变引用内容。

所以 ucasthesis 选用了 bibtex

其实 ucasthesis 通过文档类选项 biber,也提供了使用 biblatex 的方式。(附注,biblatex 是一组宏,它同时支持 biblatexbiber,所以 ucasthesis 修改为 bibtex 程序 + biblatex 宏包的。)

\DeclareOption{bibtex}{%
\artx@bibtextrue
\artx@biberfalse
}
\DeclareOption{biber}{%
\artx@bibtexfalse
\artx@bibertrue
}

%- Biber processor + biblatex package
\ifartx@biber%
\ifartx@numbers% enable numbered citation style
\ifartx@super% enable superscripted citation style
\RequirePackage[style=numeric-comp]{biblatex}%
\else
\RequirePackage[style=numeric-comp]{biblatex}%
\fi
\fi
\ifartx@authoryear% enable author year citation style
\RequirePackage[style=authoryear]{biblatex}%
\fi
\ifartx@alpha% enable alpha citation style
\RequirePackage[style=alphabetic]{biblatex}%
\fi
\addbibresource{ref.bib}%
\fi

@mohuangrui
Copy link
Owner

@muzimuzhi

  1. 谢谢提醒,已改为:

若使用的为 authoryear 样式,则需在 bicaption英文标题部分 手动输入参考文献(muzimuzhi, issue #167

  1. 我是在 artratex.sty 中考虑了对 biber 和 biblatex 的支持,但并没有在 ucasthesis 中配置相应的关于 biblatex 的 gbt 样式,也没有在用户文档和编译方式中说明。因此也就不能说 ucasthesis 采用了 biblatex。artratex.sty 是我针对一般性的 latex 文档而开发的,可用于任何文档的配置,而不局限于 ucathesis。分工有些不一样 :D

再次谢谢你的热心帮忙~

@mohuangrui
Copy link
Owner

ucasthesis现已经完全支持 @hushidong 所开发的 biblatex 样式。

具体使用见:

https://github.com/mohuangrui/ucasthesis/wiki/%E6%96%87%E7%8C%AE%E6%A0%B7%E5%BC%8F#biblatex-%E5%90%AF%E7%94%A8

记得采用正确的编译方式:biber而非bibtex。然后记得修改默认的最大作者显示数目。

@PNMZR
Copy link

PNMZR commented Mar 7, 2022

手动输入的进一步建议(\href{https://doi.org/10.1016/j.ijrmms.2012.04.003}{Sagong2012 et al. 2012})

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

No branches or pull requests

5 participants