zepinglee / gbt7714-bibtex-style

GB/T 7714-2015 BibTeX Style
LaTeX Project Public License v1.3c
1.17k stars 196 forks source link

与 newtxmath 合用时 \url 中包含 _ 可能报错 double subscript #42

Closed muzimuzhi closed 4 years ago

muzimuzhi commented 4 years ago

编译环境

宏包版本:gbt7714 v1.1.1 标注样式:所有

描述问题

gbt7714 在与修改了 _ catcode 的宏包(例如 newtxmath)共用时,一定条件下 \url 里直接使用 _ 会报 Double subscript 的错误。

最小例

\documentclass{article}
\usepackage{newtxmath}
\usepackage{gbt7714}

\begin{document}
\url{https://www.abc.com/xx-_xx}
\end{document}

报错信息

! Double subscript.
\s@@b@ #1->\sb 
               {\futurelet \next \sb@ #1}
l.6 \url{https://www.abc.com/xx-_xx}

I treat `x_1_2' essentially like `x_1{}_2'.

已作的尝试

\UrlBreaks 包含 \do\_ 后,问题修复。目前,

补充

相关源码段

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

zepinglee commented 4 years ago

这……确实会有问题,我当时是直接 copy xurl 的代码