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

新版在引用多个连续的参考文献时的显示问题 #156

Closed
gsp2014 opened this issue Apr 23, 2019 · 16 comments
Closed

新版在引用多个连续的参考文献时的显示问题 #156

gsp2014 opened this issue Apr 23, 2019 · 16 comments

Comments

@gsp2014
Copy link

gsp2014 commented Apr 23, 2019

师兄好,最新版本在引用多个连续的参考文献时,正文显示形如“[53--56]”(中间两个“-”),而不是之前的“[53–56]”(中间一个“–”)这种形式。怎么变回之前的这种形式呢?求助。

@mohuangrui
Copy link
Owner

@zepinglee

请问如下问题该怎么解决:

使用

    \IfFontExistsTF{XITS-Regular.otf}{%
    \RequirePackage{unicode-math}% unicode font configuration <XITS|STIX2>
    \def\boldsymbol#1{\symbf{#1}}% treat obsoleteness
    \setmainfont[NFSSFamily=entextrm]{XITS}[
      Extension      = .otf,
      UprightFont    = *-Regular,
      BoldFont       = *-Bold,
      ItalicFont     = *-Italic,
      BoldItalicFont = *-BoldItalic,
    ]
}

将导致 @gsp2014 所问的问题。测试发现问题出现在

 \setmainfont[NFSSFamily=entextrm]{XITS}[
      Extension      = .otf,
      UprightFont    = *-Regular,
      BoldFont       = *-Bold,
      ItalicFont     = *-Italic,
      BoldItalicFont = *-BoldItalic,
    ]

这一环节。但其仅仅导致参考文献引用如“[53--56]”处出现问题,而文本内的 - 显示正常。不知问题出在了哪里?

@zepinglee
Copy link

gbt7714sty 文件 里对 natbib 的一些内部命令做了一些修改,似乎你没有把这些放到你的模板里。

https://github.com/CTeX-org/gbt7714-bibtex-style/blob/1b3ee5c529516c788a9d51538ab5f0a52f47abd4/gbt7714.dtx#L616

@gsp2014 gsp2014 changed the title 新版多个参考参考文献显示问题 新版在引用多个连续的参考文献时的显示问题 Apr 23, 2019
@mohuangrui
Copy link
Owner

@zepinglee 嗯嗯,协调有些困难,我在文档里给了你的 gbt7714 的更新链接 :D

@gsp2014 问题已解决且更新,你可以直接在 artratex.sty 更新如下命令部分即可:

    \setmainfont[NFSSFamily=entextrm]{XITS}[
      Extension      = .otf,
      UprightFont    = *-Regular,
      BoldFont       = *-Bold,
      ItalicFont     = *-Italic,
      BoldItalicFont = *-BoldItalic,
      Ligatures=TeX,
    ]
    \setsansfont[NFSSFamily=entextsf]{XITS}[
      Extension      = .otf,
      UprightFont    = *-Regular,
      BoldFont       = *-Bold,
      ItalicFont     = *-Italic,
      BoldItalicFont = *-BoldItalic,
      Ligatures=TeX,
    ]
    \setmonofont[NFSSFamily=entexttt]{XITS}[
      Extension      = .otf,
      UprightFont    = *-Regular,
      BoldFont       = *-Bold,
      ItalicFont     = *-Italic,
      BoldItalicFont = *-BoldItalic,
      Ligatures=TeX,
    ]
    \setmathfont{XITSMath-Regular}[
      Extension    = .otf,
      BoldFont     = XITSMath-Bold,
      Ligatures=TeX,
      StylisticSet = 1,
    ]
    \setmathfont{XITSMath-Regular}[
      Extension    = .otf,
      range={cal,bfcal},
      Ligatures=TeX,
      StylisticSet = 1,
    ]
    \setmathfont{XITSMath-Regular}[
      Extension    = .otf,
      range={scr,bfscr},
      Ligatures=TeX,
      StylisticSet = 2,
    ]
    \setmathrm{XITSMath-Regular}[
      Extension    = .otf,
      BoldFont     = XITSMath-Bold,
      Ligatures=TeX,
      StylisticSet = 1,
    ]
    \setmathsf{XITSMath-Regular}[
      Extension    = .otf,
      BoldFont     = XITSMath-Bold,
      Ligatures=TeX,
      StylisticSet = 1,
    ]
    \setmathtt{XITSMath-Regular}[
      Extension    = .otf,
      BoldFont     = XITSMath-Bold,
      Ligatures=TeX,
      StylisticSet = 1,
    ]

即每一项里加了一句:

 Ligatures=TeX,

@gsp2014
Copy link
Author

gsp2014 commented Apr 23, 2019

非常感谢O(∩_∩)O

@zepinglee
Copy link

@mohuangrui 另外建议别把 pdf 放进代码里啊,我 clone 一个居然要下载 46 M

@gsp2014
Copy link
Author

gsp2014 commented Apr 23, 2019

还有一个问题,当用\citet引用同一个作者的多篇文章时,例如\citet{paper1,paper2},pdf中显示的中间的逗号不是上标。

@zepinglee
Copy link

@mohuangrui 不对啊,现在还是 en dash,你得把 gbt7714.sty 的内容整合到你的模板里

@mohuangrui
Copy link
Owner

@zepinglee

  1. 我该用哪一个 branch?似乎 ucas 对应的 branch 没有更新。而且似乎忘记了为什么要为 ucas 单独开 branch 了。。。

  2. 原问题是 [5-8] 变成了 [5--8],现在已经成功修复为 [5-8]。因为 [5-8] 都是数字,用 en dash 是不对的吗?

  3. 那个放 pdf 导致 size 过大确实是个问题,是更新次数太多了。。。

  4. @gsp2014 确实又发现了一个问题,就是在 「super」模式下,引用同一著者在同一年份出版的多篇文献时,比如 \citet{yuan2012lana, yuan2012lanb, yuan2012lanc} 作为分隔符的逗号不是上标。请见下图:

Screen Shot 2019-04-24 at 8 11 16 AM

@zepinglee 感谢帮忙~

@zepinglee
Copy link

  1. 还是 ucas branch,确实没有更新;
  2. 国标用的是 hyphen;
  3. natbib 默认的 citation 样式就存在这些问题,我都在 gbt7714.sty 里对 natbib 的内部命令做了 patch:
    https://github.com/CTeX-org/gbt7714-bibtex-style/blob/1b3ee5c529516c788a9d51538ab5f0a52f47abd4/gbt7714.sty#L81

注释见原 dtx 文档。所以你需要把这部分 patch 整合到你的模板里面。

@mohuangrui
Copy link
Owner

@zepinglee 好的,测试了 patch,发现 “在 「super」模式下,引用同一著者在同一年份出版的多篇文献时,比如 \citet{yuan2012lana, yuan2012lanb, yuan2012lanc} 作为分隔符的逗号不是上标。” 这个问题还在,你那测试结果怎样?

@zepinglee
Copy link

见这一行:

https://github.com/CTeX-org/gbt7714-bibtex-style/blob/1b3ee5c529516c788a9d51538ab5f0a52f47abd4/gbt7714.sty#L43

@mohuangrui
Copy link
Owner

感谢!

@mohuangrui
Copy link
Owner

@gsp2014 逗号问题已修复,用最新的 artratex.sty 文件即可。

@zepinglee en dash 和 hypthen 的问题就没 patch 了,发现英文标准都是用en dash,加上那个patch实在有些复杂 :D,就这样吧~

@gsp2014
Copy link
Author

gsp2014 commented Apr 24, 2019

谢谢,辛苦师兄了O(∩_∩)O

@zepinglee
Copy link

zepinglee commented Apr 24, 2019

你的模板应该有判断语言的吧?\if@chinese \patch \fi 就可以啊

@mohuangrui
Copy link
Owner

@zepinglee 有,只是那个 patch 本身有些长和凌乱,不太想加进去了 :D

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

3 participants