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

会议论文集格式 #181

Open
Stitchiey opened this issue Dec 30, 2023 · 6 comments
Open

会议论文集格式 #181

Stitchiey opened this issue Dec 30, 2023 · 6 comments

Comments

@Stitchiey
Copy link

Stitchiey commented Dec 30, 2023

我校要求的会议论文集格式为
[序号] 作者1, 作者2, 作者3. 论文题目(首字母大写,其它字母小写)[C]. 会议名称(首字母大写 虚词小写), 会议年份: 开始页-结束页.
例:
[4] Dong C, Loy C, He K, et al. Learning a deep convolutional network for image super-resolution[C]. European Conference on Computer Vision, 2014: 184-199.
即,不论是中文还是英文文献,在会议名称前都没有“in: ”或者“见”;并且论文题目仅首字母大写(专有名词除外)。我已在CTAN查阅biblatex-gb7714-2015的相关文档,未找到相应的控制符。请问欲实现此要求,应当如何撰写?

@sikouhjw
Copy link

  1. 不要开重复 issue

  2. 即,不论是中文还是英文文献,在会议名称前都没有“in: ”或者“见”;

    你需要 gbpunctin = false

  3. 并且论文题目仅首字母大写(专有名词除外)

    现有格式就是如此,请证明你的输出不符合你的期望

@Stitchiey
Copy link
Author

Stitchiey commented Dec 30, 2023

  1. 不要开重复 issue

  2. 即,不论是中文还是英文文献,在会议名称前都没有“in: ”或者“见”;

    你需要 gbpunctin = false

  3. 并且论文题目仅首字母大写(专有名词除外)

    现有格式就是如此,请证明你的输出不符合你的期望

  1. 因为网络原因不慎重复开issue,抱歉
  2. 我已经使用了gbpunctin = false,输出仍然包含“in:”
  3. 现编译结果如图
    image
    我使用的TeXLive版本为2023,编译器为XeLaTeX

@Stitchiey
Copy link
Author

第二个问题可以通过在导言区添加

\DefineBibliographyStrings{english}{in={}}
\DefineBibliographyStrings{english}{incn={}}

来解决,但现在仍然不明白第三个问题发生的原因

@sikouhjw
Copy link

1. 我搜索过之前的issue,没有找到相关题目

#180 已经开了,不需要再开 #181

2. 我已经使用了`gbpunctin = false`,输出仍然包含“in:”

看错了问题,但手册中 gbpunctin 选项部分已经给出了你想要的答案:

若要完全去掉该符号则可以在导言区增加命令 \DefineBibliographyStrings{english}{in={}},
\DefineBibliographyStrings{english}{incn={}}

3. 现编译结果如图

需要使用 texdoc biblatex p. 265 提供的 \MakeSentenceCase 命令,在导言区添加

\DeclareFieldFormat{titlecase}{\MakeSentenceCase*{#1}}

@Stitchiey
Copy link
Author

需要使用 texdoc biblatex p. 265 提供的 \MakeSentenceCase 命令,在导言区添加

\DeclareFieldFormat{titlecase}{\MakeSentenceCase*{#1}}

在导言区添加该指令会使得包括booktitlejournal在内的title都变为句首字母大写,详见如图。我查阅了texdoc biblatexhttps://github.com/hushidong/biblatex-gb7714-2015/blob/15db5aaf6834b2359c605227726c67d1350bc660/biblatex-gb7714-2015.pdf,目前并没有找到解决方法。
image

@sikouhjw
Copy link

在导言区添加该指令会使得包括booktitlejournal在内的title都变为句首字母大写

这是由于 biblatex 对样式精细度控制不足导致的1,解决方案为2

\documentclass{article}
\usepackage[backend=biber,style=gb7714-2015]{biblatex}
\addbibresource[location=local]{gdutthesis-template.bib}
\DeclareFieldFormat{titlecase}{\MakeSentenceCase*{#1}}

\DeclareFieldFormat{titlecase:journaltitle}{#1}
\renewbibmacro*{booktitle}{%ref gb7714-2015.bbx
  \ifboolexpr{
    test {\iffieldundef{booktitle}}
    and
    test {\iffieldundef{booksubtitle}}
  }
    {}
    {\printtext[booktitle]{\bibtitlefont%
       \printfield[titlecase:journaltitle]{booktitle}%
       \setunit{\subtitlepunct}%
       \printfield[titlecase:journaltitle]{booksubtitle}}%
     \newunit%标点换成下一句
     \setunit{\subtitlepunct}}%
  \printfield{booktitleaddon}}

\renewbibmacro*{journal}{%ref biblatex.def
  \ifboolexpr{
    test {\iffieldundef{journaltitle}}
    and
    test {\iffieldundef{journalsubtitle}}
  }
    {}
    {\printtext[journaltitle]{%
       \printfield[titlecase:journaltitle]{journaltitle}%
       \setunit{\subtitlepunct}%
       \printfield[titlecase:journaltitle]{journalsubtitle}}%
     \newunit}%
  \iffieldundef{journaltitleaddon}
    {}
    {\printfield{journaltitleaddon}}}

\begin{document}
\cite{5595728,8739605}
\printbibliography[heading=bibliography]
\end{document}

图片

Footnotes

  1. https://tex.stackexchange.com/a/526073

  2. https://tex.stackexchange.com/a/86051

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