From e9af7499b89170ca5c737240b0cdb9563dcf6c5a Mon Sep 17 00:00:00 2001
From: Norbert Preining
Update test for Unicode fonts. Fix accent in \seename and \alsoname.
1.9j
2020/03/17
Fix ampersand in math.
\ProvidesLanguage{greek}
%\fi
%\ProvidesFile{babel-greek.dtx}
- [2020/02/27 v1.9i Greek support for the babel system]
+ [2020/03/17 v1.9j Greek support for the babel system]
%\iffalse
%% File `babel-greek.dtx'
%% Greek language Definition File
@@ -127,6 +127,7 @@
% to textalpha.}
% \changes{babel-greek-1.9i}{2020/02/28}{Update test for Unicode fonts.
% Fix accent in seename and alsoname.}
+% \changes{babel-greek-1.9j}{2020/03/17}{Fix ampersand in math.}
%
% \title{Babel support for the Greek language}
% \author{Apostolos Syropoulos, Günter Milde}
@@ -527,6 +528,8 @@
% We redefine a few commands in the LGR encoding to work around problems
% because LGR is no \emph{standard text encoding} but has Greek letters in
% the places of Latin ones.
+% The ampersand must work in text and math mode. We provide the text
+% command |\textampersand| and re-define |\&| to use it in text mode.
% \changes{greekfdd-2.2c}{1999/04/05}{Fixed typos, \cs{textrademark}
% misses a `t', \cs{copyright} should be \cs{textcopyright}}
% \changes{greekfdd-2.2d}{1999/04/25}{removed redefinition of \cs{\&}}
@@ -536,14 +539,16 @@
% \changes{greek-1.5}{2013/05/27}{enable use of "textcomp" characters
% for "textcopyright" and "textregistered" macros}
% \changes{greek-1.5}{2013/06/15}{\textbackslash & made TextCommand}
+% \changes{babel-greek-1.9j}{2020/03/17}{Fix ampersand in math.}
%
% \begin{macrocode}
\ProvideTextCommand{\textcopyright}{LGR}{\ensureascii{\textcopyright}}
\ProvideTextCommand{\textregistered}{LGR}{\ensureascii{\textregistered}}
\ProvideTextCommand{\texttrademark}{LGR}{\ensureascii{\texttrademark}}
\let\ltx@amp\&
- \DeclareTextCommandDefault{\&}{\ltx@amp}
- \DeclareTextCommand{\&}{LGR}{\ensureascii{\ltx@amp}}
+ \ProvideTextCommandDefault{\textampersand}{\ltx@amp}
+ \ProvideTextCommand{\textampersand}{LGR}{\ensureascii{\ltx@amp}}
+ \DeclareRobustCommand{\&}{\ifmmode\ltx@amp\else\textampersand\fi}
\ProvideTextCommand{\SS}{LGR}{\ensureascii{\SS}}
% \end{macrocode}
%
diff --git a/macros/latex/contrib/babel-contrib/greek/babel-greek.pdf b/macros/latex/contrib/babel-contrib/greek/babel-greek.pdf
index cba57427b7..e0e0e741cd 100644
Binary files a/macros/latex/contrib/babel-contrib/greek/babel-greek.pdf and b/macros/latex/contrib/babel-contrib/greek/babel-greek.pdf differ
diff --git a/macros/latex/contrib/babel-contrib/greek/test-greek.pdf b/macros/latex/contrib/babel-contrib/greek/test-greek.pdf
index 0751ed7c9f..c4526611d8 100644
Binary files a/macros/latex/contrib/babel-contrib/greek/test-greek.pdf and b/macros/latex/contrib/babel-contrib/greek/test-greek.pdf differ
diff --git a/macros/latex/contrib/babel-contrib/greek/test-greek.tex b/macros/latex/contrib/babel-contrib/greek/test-greek.tex
index 5498dfc96b..4e5618cf87 100644
--- a/macros/latex/contrib/babel-contrib/greek/test-greek.tex
+++ b/macros/latex/contrib/babel-contrib/greek/test-greek.tex
@@ -101,7 +101,7 @@ argument using this encoding.
Switching to a font encoding supporting the Greek script is possible without
switching the Babel language using the declarations \verb|\greekscript| (no
switch if the current encoding supports Greek script (e.g. the Unicode font
-encodings EU1, EU2)) or \verb|\greektext| (always switch to LGR) and the
+encoding TU)) or \verb|\greektext| (always switch to LGR) and the
corresponding macros \verb|\ensuregreek| or \verb|\textgreek|. These
commands do not start a new paragraph:
@@ -109,28 +109,30 @@ commands do not start a new paragraph:
\latintext Friends (\ensuregreek{F\'ilwn}) of TeX.
\texttt{greek.ldf} has some workarounds, so that macros relying on Latin
-characters in the ``right'' positions keep working. We test, that these
+characters in standard positions keep working. We test, that these
definitions do not overwrite the selection of pre-composed characters for
-``copyright'' and ``registered trade mark'' by ``textcomp'' (try copy and
+``copyright'' and ``registered trade mark'' by \emph{textcomp} (try copy and
paste from the PDF output):
-Greek (LGR): \ensuregreek{Α \& Ω, \textcopyright{} \textregistered{}
-\texttrademark{}, © ® ™ } \\
-Latin: A \& O.
+Latin: A \& O, © ® ™ \\
+Greek (LGR): \ensuregreek{Α \textampersand{} Ω,
+\textcopyright{} \textregistered{} \texttrademark{}, \& © ® ™ }.
+
+The ampersand should also work in mathematical mode: $ 1 \& 2 $
To prevent Roman numerals being typeset in Greek letters we need to adopt
the internal LaTeX commands. Note that this may cause errors when roman
numerals are used in a situation where the macros need to be expanded:
\makeatletter
-Greek: \ensuregreek{
+Latin:
\@roman{1}, \@roman{2}, \@roman{3}, \@roman{4}, \ldots, \@roman{1975}
\@Roman{1}, \@Roman{2}, \@Roman{3}, \@Roman{4}, \ldots, \@Roman{1975}
-}
-Latin:
+Greek: \ensuregreek{
\@roman{1}, \@roman{2}, \@roman{3}, \@roman{4}, \ldots, \@roman{1975}
\@Roman{1}, \@Roman{2}, \@Roman{3}, \@Roman{4}, \ldots, \@Roman{1975}
+}
\makeatother
\section{MakeUppercase, MakeLowercase}
diff --git a/macros/latex/contrib/babel-contrib/greek/test-unicode-greek.pdf b/macros/latex/contrib/babel-contrib/greek/test-unicode-greek.pdf
index 4a0204a05c..7033176e1a 100644
Binary files a/macros/latex/contrib/babel-contrib/greek/test-unicode-greek.pdf and b/macros/latex/contrib/babel-contrib/greek/test-unicode-greek.pdf differ
diff --git a/macros/latex/contrib/babel-contrib/greek/test-unicode-lgr.pdf b/macros/latex/contrib/babel-contrib/greek/test-unicode-lgr.pdf
index cdbfbb0fee..532e132c78 100644
Binary files a/macros/latex/contrib/babel-contrib/greek/test-unicode-lgr.pdf and b/macros/latex/contrib/babel-contrib/greek/test-unicode-lgr.pdf differ
diff --git a/macros/latex/contrib/babel-contrib/greek/usage.pdf b/macros/latex/contrib/babel-contrib/greek/usage.pdf
index 769d3ddb3a..67c6fa3699 100644
Binary files a/macros/latex/contrib/babel-contrib/greek/usage.pdf and b/macros/latex/contrib/babel-contrib/greek/usage.pdf differ
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/biblatex-gb7714-2015.pdf b/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/biblatex-gb7714-2015.pdf
index a0dae26ec4..c6a841b307 100644
Binary files a/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/biblatex-gb7714-2015.pdf and b/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/biblatex-gb7714-2015.pdf differ
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/biblatex-gb7714-2015.tex b/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/biblatex-gb7714-2015.tex
index d0513bffb8..dc81acdede 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/biblatex-gb7714-2015.tex
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/biblatex-gb7714-2015.tex
@@ -1255,7 +1255,7 @@ leftrule=0pt,rightrule=0pt,toprule=0.4pt,bottomrule=0.4pt]
对于顺序编码制文献表,由于存在数字标签,且其宽度与参考文献数量相关,所以这个宽度是动态变的,无能提前设定的,而是在文献表生成时给出,所以调整缩进需要在文献表输出环境中调整。由于顺序编码样式使用了两类输出环境,所以需要根据设定的选项区分处理:
-一是采用list环境的文献表,即设置gbalign=left、right、center时(即顺序编码标签是左对齐、右对齐和居中对齐的情况),在重定义的文献表环境中,调整bibitemindent和bibhang两个尺寸,默认情况下bibhang+labelnumberwidth的长度是页边到各行起始位置的距离。
+一是采用list环境的文献表,即设置gbalign=left、right、center时(即顺序编码标签是左对齐、右对齐和居中对齐的情况),在重定义的文献表环境中,调整bibitemindent和bibhang两个尺寸,默认情况下bibhang+labelnumberwidth的长度是页边到各行起始位置的距离。当采用某些字体导致计算计算的标签宽度不足时,可以设置biblabelextend尺寸,来增加labelnumberwidth的宽度,避免缩进格式产生问题,默认情况下biblabelextend尺寸为0pt。
二是采用正常段落环境的文献表,即设置gbalign=gb7714-2015时(即项对齐情况,就是各条文献是自身对齐的情况),在重定义的命令中通过调整lengthid尺寸来设置每条参考文献第二行开始的缩进距离。
调整方法见例\ref{eg:biblist:hspace}。
@@ -1590,7 +1590,7 @@ leftrule=0pt,rightrule=0pt,toprule=0.4pt,bottomrule=0.4pt]
对于西方语言, biblatex基于 babel/polyglossia宏包,结合autolang/language等选项和langid/langidopt等域,提供了一套多语言解决方案。
\begin{itemize}
-\item 首先,对不同语言的文献,设置langid域为文献所用语言,比如英文文献则设置langid域等于english,俄文文献则设置等于rassian。
+\item 首先,对不同语言的文献,设置langid域为文献所用语言,比如英文文献则设置langid域等于english,俄文文献则设置等于russian。
\item 其次,在biblatex加载时设置 autolang选项,等于none则不做多语言处理,等于hyphen则仅做不同语言的断词处理,等于other或other*则处理不同语言的断词和本地化字符串,other*选项等价于使用babel的otherlanguage*环境,与other的差别在于不忽略环境后的空白。从实践看,当要使用条目集时,使用other*选项更为合适。
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015.bbx
index 2178050a45..f7aee9c42c 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015.bbx
@@ -11,7 +11,7 @@
%
% 版本和时间信息
%
-\def\versionofgbtstyle{2019/08/28 v1.0s}
+\def\versionofgbtstyle{2020/03/20 v1.0u}
\def\versionofbiblatex{\abx@version}
\ProvidesFile{gb7714-2015.bbx}[\versionofgbtstyle biblatex bibliography style]
%\RequireBiber[3]%显式指定用biber后端,当用bibtex时会报错,但其实不会影响编译,只是采用bibtex后无法达成格式需求
@@ -1152,10 +1152,6 @@
\step[fieldsource=entrykey]
\step[fieldset=keywords, origfieldval]
}
- \map{%文献题名的中文判断,将信息保存到userd中,避免因为标签生成原因导致title域被清除而产生问题
- \step[fieldsource=title, match=\regexp{[\x{2FF0}-\x{9FA5}]},final]%
- \step[fieldset=userd, fieldvalue={chinese}]
- }
\map{\step[fieldsource=title,match=\regexp{[\x{0100}-\x{017F}]},final]%\x80-\xFF
\step[fieldset=userd,fieldvalue={french}]%法语,0080开始到00ff的字符没法匹配有点奇怪
}
@@ -1171,14 +1167,14 @@
\step[fieldsource=title,match=\regexp{[\x{1100}-\x{11FF}\x{3130}-\x{318F}\x{AC00}-\x{D7AF}]},final]
\step[fieldset=userd,fieldvalue={korean}]%韩语
}
+ \map{%文献题名的中文判断,将信息保存到userd中,避免因为标签生成原因导致title域被清除而产生问题
+ \step[fieldsource=title, match=\regexp{[\x{2FF0}-\x{9FA5}]},final]%
+ \step[fieldset=userd, fieldvalue={chinese}]
+ }
\map{%将没有设置userd,且存在title域的默认设置为英文
\step[fieldsource=title,final]
\step[fieldset=userd,fieldvalue={english}]
}
- \map{%作者的中文判断
- \step[fieldsource=author, match=\regexp{[\x{2FF0}-\x{9FA5}]},final]
- \step[fieldset=userf, fieldvalue={chinese}]
- }
\map{\step[fieldsource=author,match=\regexp{[\x{0100}-\x{017F}]},final]%\x80-\xFF
\step[fieldset=userf,fieldvalue={french}]%法语,0080开始到00ff的字符没法匹配有点奇怪
}
@@ -1194,14 +1190,14 @@
\step[fieldsource=author,match=\regexp{[\x{1100}-\x{11FF}\x{3130}-\x{318F}\x{AC00}-\x{D7AF}]},final]
\step[fieldset=userf,fieldvalue={korean}]%韩语
}
+ \map{%作者的中文判断
+ \step[fieldsource=author, match=\regexp{[\x{2FF0}-\x{9FA5}]},final]
+ \step[fieldset=userf, fieldvalue={chinese}]
+ }
\map{%将没有设置userf,且存在author域的默认设置为英文
\step[fieldsource=author,final]
\step[fieldset=userf,fieldvalue={english}]
}
- \map{%译者的中文判断
- \step[fieldsource=translator, match=\regexp{[\x{2FF0}-\x{9FA5}]},final]
- \step[fieldset=usere, fieldvalue={chinese}]
- }
\map{\step[fieldsource=translator,match=\regexp{[\x{0100}-\x{017F}]},final]%\x80-\xFF
\step[fieldset=usere,fieldvalue={french}]%法语,0080开始到00ff的字符没法匹配有点奇怪
}
@@ -1217,14 +1213,14 @@
\step[fieldsource=translator,match=\regexp{[\x{1100}-\x{11FF}\x{3130}-\x{318F}\x{AC00}-\x{D7AF}]},final]
\step[fieldset=usere,fieldvalue={korean}]%韩语
}
+ \map{%译者的中文判断
+ \step[fieldsource=translator, match=\regexp{[\x{2FF0}-\x{9FA5}]},final]
+ \step[fieldset=usere, fieldvalue={chinese}]
+ }
\map{%将没有设置usere,且存在translator域的默认设置为英文
\step[fieldsource=translator,final]
\step[fieldset=usere,fieldvalue={english}]
}
- \map{%编者的中文判断
- \step[fieldsource=editor, match=\regexp{[\x{2FF0}-\x{9FA5}]},final]%直接匹配cjk字符,unicode编码位置从2FF0到9FA5
- \step[fieldset=userc, fieldvalue={chinese}]
- }
\map{\step[fieldsource=editor,match=\regexp{[\x{0100}-\x{017F}]},final]%\x80-\xFF
\step[fieldset=userc,fieldvalue={french}]%法语,0080开始到00ff的字符没法匹配有点奇怪
}
@@ -1240,14 +1236,14 @@
\step[fieldsource=editor,match=\regexp{[\x{1100}-\x{11FF}\x{3130}-\x{318F}\x{AC00}-\x{D7AF}]},final]
\step[fieldset=userc,fieldvalue={korean}]%韩语
}
+ \map{%编者的中文判断
+ \step[fieldsource=editor, match=\regexp{[\x{2FF0}-\x{9FA5}]},final]%直接匹配cjk字符,unicode编码位置从2FF0到9FA5
+ \step[fieldset=userc, fieldvalue={chinese}]
+ }
\map{%将没有设置userc,且存在editor域的默认设置为英文
\step[fieldsource=editor,final]
\step[fieldset=userc,fieldvalue={english}]
}
- \map{%编者的中文判断
- \step[fieldsource=bookauthor, match=\regexp{[\x{2FF0}-\x{9FA5}]},final]%直接匹配cjk字符,unicode编码位置从2FF0到9FA5
- \step[fieldset=userb, fieldvalue={chinese}]
- }
\map{\step[fieldsource=bookauthor,match=\regexp{[\x{0100}-\x{017F}]},final]%\x80-\xFF
\step[fieldset=userb,fieldvalue={french}]%法语,0080开始到00ff的字符没法匹配有点奇怪
}
@@ -1263,6 +1259,10 @@
\step[fieldsource=bookauthor,match=\regexp{[\x{1100}-\x{11FF}\x{3130}-\x{318F}\x{AC00}-\x{D7AF}]},final]
\step[fieldset=userb,fieldvalue={korean}]%韩语
}
+ \map{%编者的中文判断
+ \step[fieldsource=bookauthor, match=\regexp{[\x{2FF0}-\x{9FA5}]},final]%直接匹配cjk字符,unicode编码位置从2FF0到9FA5
+ \step[fieldset=userb, fieldvalue={chinese}]
+ }
\map{%将没有设置userc,且存在editor域的默认设置为英文
\step[fieldsource=bookauthor,final]
\step[fieldset=userb,fieldvalue={english}]
@@ -1680,12 +1680,15 @@
\sort{
\field{presort}
}
- \sort[final]{
- \field{sortkey}
- }
+ %\sort[final]{
+ %\field{sortkey}
+ %}
\sort{
\field{lansortorder}%language
}
+ \sort{
+ \field{sortkey}
+ }
\sort{%[direction=descending]
\field{sortname}
\field{author}
@@ -1711,12 +1714,15 @@
\sort{
\field{presort}
}
- \sort[final]{
- \field{sortkey}
- }
+ %\sort[final]{
+ %\field{sortkey}
+ %}
\sort{
\field{lansortorder}%language
}
+ \sort[direction=descending]{
+ \field{sortkey}
+ }
\sort[direction=descending]{
\field{sortname}
\field{author}
@@ -1742,9 +1748,9 @@
\sort{
\field{presort}
}
- \sort[final]{
- \field{sortkey}
- }
+ %\sort[final]{
+ %\field{sortkey}
+ %}
\sort{
\field{lansortorder}%language
}
@@ -1752,6 +1758,9 @@
\field{sortyear}
\field{year}
}
+ \sort{
+ \field{sortkey}
+ }
\sort{
\field{sortname}
\field{author}
@@ -1773,9 +1782,9 @@
\sort{
\field{presort}
}
- \sort[final]{
- \field{sortkey}
- }
+ %\sort[final]{
+ %\field{sortkey}
+ %}
\sort{
\field{lansortorder}%language
}
@@ -1783,6 +1792,9 @@
\field{sortyear}
\field{year}
}
+ \sort{
+ \field{sortkey}
+ }
\sort{
\field{sortname}
\field{author}
@@ -1809,12 +1821,15 @@
\sort{
\field{presort}
}
- \sort[final]{
- \field{sortkey}
- }
+ %\sort[final]{
+ %\field{sortkey}
+ %}
\sort{
\field{lansortorder}%language
}
+ \sort{
+ \field{sortkey}
+ }
\sort{%[direction=descending]
\field{sortname}
\field{author}
@@ -1840,12 +1855,15 @@
\sort{
\field{presort}
}
- \sort[final]{
- \field{sortkey}
- }
+% \sort[final]{
+% \field{sortkey}
+% }
\sort{
\field{lansortorder}%language
}
+ \sort[direction=descending]{
+ \field{sortkey}
+ }
\sort[direction=descending]{%
\field{sortname}
\field{author}
@@ -1871,9 +1889,9 @@
\sort{
\field{presort}
}
- \sort[final]{
- \field{sortkey}
- }
+% \sort[final]{
+% \field{sortkey}
+% }
\sort{
\field{lansortorder}%language
}
@@ -1881,6 +1899,9 @@
\field{sortyear}
\field{year}
}
+ \sort{
+ \field{sortkey}
+ }
\sort{%
\field{sortname}
\field{author}
@@ -1902,9 +1923,9 @@
\sort{
\field{presort}
}
- \sort[final]{
- \field{sortkey}
- }
+% \sort[final]{
+% \field{sortkey}
+% }
\sort{
\field{lansortorder}%language
}
@@ -1912,6 +1933,9 @@
\field{sortyear}
\field{year}
}
+ \sort{
+ \field{sortkey}
+ }
\sort{%
\field{sortname}
\field{author}
@@ -1946,9 +1970,12 @@ test {\iftoggle{iftlseven}}%biblatex<=3.7
%
% 增加一个\bibitemindent尺寸用于控制list环境的itemindent
% v1.0l,20180615,hzz
+% v1.0t,20200319,hzz,增加尺寸\biblabelextend使某些字体下标签宽度不足时可增加标签宽度
\setlength{\bibhang}{\biblabelsep}%
\newlength{\bibitemindent}
\setlength{\bibitemindent}{0pt}
+\newlength{\biblabelextend}
+\setlength{\biblabelextend}{0pt}
\defbibenvironment{bibliography}
@@ -1956,7 +1983,8 @@ test {\iftoggle{iftlseven}}%biblatex<=3.7
{\printtext[labelnumberwidth]{%
\printfield{labelprefix}%
\printfield{labelnumber}}}
- {\setlength{\labelwidth}{\labelnumberwidth}%
+ {\addtolength{\labelnumberwidth}{\biblabelextend}%
+ \setlength{\labelwidth}{\labelnumberwidth}%
\setlength{\labelsep}{\biblabelsep}%
\setlength{\leftmargin}{\bibhang}%
\addtolength{\leftmargin}{\labelnumberwidth}%
@@ -3473,7 +3501,8 @@ incollection,proceedings,inproceedings]{number}{%
\usebibmacro{note+pages}%
\iffieldequalstr{note}{news}{}{%当是新闻时不输出修改或更新日期
\iffieldundef{url}{}{%当没有网址时也不输出
- \usebibmacro{modifydate}}}%带括号的修改或更新日期,
+ \iftoggle{bbx:url}{%当url选项为false时,也不输出
+ \usebibmacro{modifydate}}{}}}%带括号的修改或更新日期,
\usebibmacro{doi+eprint+url}%从后面移上来,调整url和页码之间的位置
\newunit\newblock
\iftoggle{bbx:isbn}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015.cbx
index a62ca688b3..740b23d9a1 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015.cbx
@@ -7,7 +7,7 @@
%% Released under the LaTeX Project Public License v1.3c or later
%% ---------------------------------------------------------------
%%
-\def\versionofgbtstyle{2019/08/28 v1.0s}
+\def\versionofgbtstyle{2020/03/20 v1.0u}
\ProvidesFile{gb7714-2015.cbx}[\versionofgbtstyle biblatex citation style]
%
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015ay.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015ay.bbx
index d6d9a84174..2e54a40149 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015ay.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015ay.bbx
@@ -10,7 +10,7 @@
%
% 版本和时间信息
%
-\def\versionofgbtstyle{2019/08/28 v1.0s}
+\def\versionofgbtstyle{2020/03/20 v1.0u}
\def\versionofbiblatex{\abx@version}
\ProvidesFile{gb7714-2015ay.bbx}[\versionofgbtstyle biblatex bibliography style]
%\RequireBiber[3]%显式指定用biber后端,当用bibtex时会报错,但其实不会影响编译,只是采用bibtex后无法达成格式需求
@@ -1124,10 +1124,6 @@
\step[fieldsource=entrykey]
\step[fieldset=keywords, origfieldval]
}
- \map{%文献题名的中文判断,将信息保存到userd中,避免因为标签生成原因导致title域被清除而产生问题
- \step[fieldsource=title, match=\regexp{[\x{2FF0}-\x{9FA5}]},final]%
- \step[fieldset=userd, fieldvalue={chinese}]
- }
\map{\step[fieldsource=title,match=\regexp{[\x{0100}-\x{017F}]},final]%\x80-\xFF
\step[fieldset=userd,fieldvalue={french}]%法语,0080开始到00ff的字符没法匹配有点奇怪
}
@@ -1143,14 +1139,14 @@
\step[fieldsource=title,match=\regexp{[\x{1100}-\x{11FF}\x{3130}-\x{318F}\x{AC00}-\x{D7AF}]},final]
\step[fieldset=userd,fieldvalue={korean}]%韩语
}
+ \map{%文献题名的中文判断,将信息保存到userd中,避免因为标签生成原因导致title域被清除而产生问题
+ \step[fieldsource=title, match=\regexp{[\x{2FF0}-\x{9FA5}]},final]%
+ \step[fieldset=userd, fieldvalue={chinese}]
+ }
\map{%将没有设置userd,且存在title域的默认设置为英文
\step[fieldsource=title,final]
\step[fieldset=userd,fieldvalue={english}]
}
- \map{%作者的中文判断
- \step[fieldsource=author, match=\regexp{[\x{2FF0}-\x{9FA5}]},final]
- \step[fieldset=userf, fieldvalue={chinese}]
- }
\map{\step[fieldsource=author,match=\regexp{[\x{0100}-\x{017F}]},final]%\x80-\xFF
\step[fieldset=userf,fieldvalue={french}]%法语,0080开始到00ff的字符没法匹配有点奇怪
}
@@ -1166,14 +1162,14 @@
\step[fieldsource=author,match=\regexp{[\x{1100}-\x{11FF}\x{3130}-\x{318F}\x{AC00}-\x{D7AF}]},final]
\step[fieldset=userf,fieldvalue={korean}]%韩语
}
+ \map{%作者的中文判断
+ \step[fieldsource=author, match=\regexp{[\x{2FF0}-\x{9FA5}]},final]
+ \step[fieldset=userf, fieldvalue={chinese}]
+ }
\map{%将没有设置userf,且存在author域的默认设置为英文
\step[fieldsource=author,final]
\step[fieldset=userf,fieldvalue={english}]
}
- \map{%译者的中文判断
- \step[fieldsource=translator, match=\regexp{[\x{2FF0}-\x{9FA5}]},final]
- \step[fieldset=usere, fieldvalue={chinese}]
- }
\map{\step[fieldsource=translator,match=\regexp{[\x{0100}-\x{017F}]},final]%\x80-\xFF
\step[fieldset=usere,fieldvalue={french}]%法语,0080开始到00ff的字符没法匹配有点奇怪
}
@@ -1189,14 +1185,14 @@
\step[fieldsource=translator,match=\regexp{[\x{1100}-\x{11FF}\x{3130}-\x{318F}\x{AC00}-\x{D7AF}]},final]
\step[fieldset=usere,fieldvalue={korean}]%韩语
}
+ \map{%译者的中文判断
+ \step[fieldsource=translator, match=\regexp{[\x{2FF0}-\x{9FA5}]},final]
+ \step[fieldset=usere, fieldvalue={chinese}]
+ }
\map{%将没有设置usere,且存在translator域的默认设置为英文
\step[fieldsource=translator,final]
\step[fieldset=usere,fieldvalue={english}]
}
- \map{%编者的中文判断
- \step[fieldsource=editor, match=\regexp{[\x{2FF0}-\x{9FA5}]},final]%直接匹配cjk字符,unicode编码位置从2FF0到9FA5
- \step[fieldset=userc, fieldvalue={chinese}]
- }
\map{\step[fieldsource=editor,match=\regexp{[\x{0100}-\x{017F}]},final]%\x80-\xFF
\step[fieldset=userc,fieldvalue={french}]%法语,0080开始到00ff的字符没法匹配有点奇怪
}
@@ -1212,14 +1208,14 @@
\step[fieldsource=editor,match=\regexp{[\x{1100}-\x{11FF}\x{3130}-\x{318F}\x{AC00}-\x{D7AF}]},final]
\step[fieldset=userc,fieldvalue={korean}]%韩语
}
+ \map{%编者的中文判断
+ \step[fieldsource=editor, match=\regexp{[\x{2FF0}-\x{9FA5}]},final]%直接匹配cjk字符,unicode编码位置从2FF0到9FA5
+ \step[fieldset=userc, fieldvalue={chinese}]
+ }
\map{%将没有设置userc,且存在editor域的默认设置为英文
\step[fieldsource=editor,final]
\step[fieldset=userc,fieldvalue={english}]
}
- \map{%编者的中文判断
- \step[fieldsource=bookauthor, match=\regexp{[\x{2FF0}-\x{9FA5}]},final]%直接匹配cjk字符,unicode编码位置从2FF0到9FA5
- \step[fieldset=userb, fieldvalue={chinese}]
- }
\map{\step[fieldsource=bookauthor,match=\regexp{[\x{0100}-\x{017F}]},final]%\x80-\xFF
\step[fieldset=userb,fieldvalue={french}]%法语,0080开始到00ff的字符没法匹配有点奇怪
}
@@ -1235,6 +1231,10 @@
\step[fieldsource=bookauthor,match=\regexp{[\x{1100}-\x{11FF}\x{3130}-\x{318F}\x{AC00}-\x{D7AF}]},final]
\step[fieldset=userb,fieldvalue={korean}]%韩语
}
+ \map{%编者的中文判断
+ \step[fieldsource=bookauthor, match=\regexp{[\x{2FF0}-\x{9FA5}]},final]%直接匹配cjk字符,unicode编码位置从2FF0到9FA5
+ \step[fieldset=userb, fieldvalue={chinese}]
+ }
\map{%将没有设置userc,且存在editor域的默认设置为英文
\step[fieldsource=bookauthor,final]
\step[fieldset=userb,fieldvalue={english}]
@@ -1529,12 +1529,15 @@
\sort{
\field{presort}
}
- \sort[final]{
- \field{sortkey}
- }
+ %\sort[final]{
+ %\field{sortkey}
+ %}
\sort{
\field{lansortorder}%language
}
+ \sort{
+ \field{sortkey}
+ }
\sort{%[direction=descending]
\field{sortname}
\field{author}
@@ -1560,12 +1563,15 @@
\sort{
\field{presort}
}
- \sort[final]{
- \field{sortkey}
- }
+ %\sort[final]{
+ %\field{sortkey}
+ %}
\sort{
\field{lansortorder}%language
}
+ \sort[direction=descending]{
+ \field{sortkey}
+ }
\sort[direction=descending]{
\field{sortname}
\field{author}
@@ -1591,9 +1597,9 @@
\sort{
\field{presort}
}
- \sort[final]{
- \field{sortkey}
- }
+ %\sort[final]{
+ %\field{sortkey}
+ %}
\sort{
\field{lansortorder}%language
}
@@ -1601,6 +1607,9 @@
\field{sortyear}
\field{year}
}
+ \sort{
+ \field{sortkey}
+ }
\sort{
\field{sortname}
\field{author}
@@ -1622,9 +1631,9 @@
\sort{
\field{presort}
}
- \sort[final]{
- \field{sortkey}
- }
+ %\sort[final]{
+ %\field{sortkey}
+ %}
\sort{
\field{lansortorder}%language
}
@@ -1632,6 +1641,9 @@
\field{sortyear}
\field{year}
}
+ \sort{
+ \field{sortkey}
+ }
\sort{
\field{sortname}
\field{author}
@@ -1658,12 +1670,15 @@
\sort{
\field{presort}
}
- \sort[final]{
- \field{sortkey}
- }
+ %\sort[final]{
+ %\field{sortkey}
+ %}
\sort{
\field{lansortorder}%language
}
+ \sort{
+ \field{sortkey}
+ }
\sort{%[direction=descending]
\field{sortname}
\field{author}
@@ -1689,12 +1704,15 @@
\sort{
\field{presort}
}
- \sort[final]{
- \field{sortkey}
- }
+% \sort[final]{
+% \field{sortkey}
+% }
\sort{
\field{lansortorder}%language
}
+ \sort[direction=descending]{
+ \field{sortkey}
+ }
\sort[direction=descending]{%
\field{sortname}
\field{author}
@@ -1720,9 +1738,9 @@
\sort{
\field{presort}
}
- \sort[final]{
- \field{sortkey}
- }
+% \sort[final]{
+% \field{sortkey}
+% }
\sort{
\field{lansortorder}%language
}
@@ -1730,6 +1748,9 @@
\field{sortyear}
\field{year}
}
+ \sort{
+ \field{sortkey}
+ }
\sort{%
\field{sortname}
\field{author}
@@ -1751,9 +1772,9 @@
\sort{
\field{presort}
}
- \sort[final]{
- \field{sortkey}
- }
+% \sort[final]{
+% \field{sortkey}
+% }
\sort{
\field{lansortorder}%language
}
@@ -1761,6 +1782,9 @@
\field{sortyear}
\field{year}
}
+ \sort{
+ \field{sortkey}
+ }
\sort{%
\field{sortname}
\field{author}
@@ -3459,7 +3483,8 @@ test {\ifentrytype{conference}}
\usebibmacro{note+pages}%
\iffieldequalstr{note}{news}{}{%当是新闻时不输出修改或更新日期
\iffieldundef{url}{}{%当没有网址时也不输出
- \usebibmacro{modifydate}}}%带括号的修改或更新日期,
+ \iftoggle{bbx:url}{%当url选项为false时,也不输出
+ \usebibmacro{modifydate}}{}}}%带括号的修改或更新日期,
\usebibmacro{doi+eprint+url}%从后面移上来,调整url和页码之间的位置
\newunit\newblock
\iftoggle{bbx:isbn}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015ay.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015ay.cbx
index 9b9adf9b14..11fa65d16e 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015ay.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015ay.cbx
@@ -7,7 +7,7 @@
%% Released under the LaTeX Project Public License v1.3c or later
%% ---------------------------------------------------------------
%%
-\def\versionofgbtstyle{2019/08/28 v1.0s}
+\def\versionofgbtstyle{2020/03/20 v1.0u}
\ProvidesFile{gb7714-2015ay.cbx}[\versionofgbtstyle biblatex citation style]
%
@@ -61,7 +61,12 @@ test {\iftoggle{iftlseven}}%3.7=biblatex
}{\newbibmacro{cite:labeldate+extradate}{\usebibmacro{cite:labelyear+extrayear}}}{}%else: biblatex>3.7
%textcite标注命令中的标点设置,注意只针对textcite命令。
-\DeclareDelimFormat[textcite]{nameyeardelim}{}%\addcomma\space
+% v-old
+% v1.0t,20200320,hzz,修改如下
+% 在cbx中增加标注中的nameyeardelim标点定义,避免bbx使用其它样式时出现问题
+% 同时设置textcite的nameyeardelim为一个短空格,似乎原来直接连上去的不够美观
+\DeclareDelimFormat[cite,parencite,pagescite]{nameyeardelim}{\addcomma\space}%\addcomma\space
+\DeclareDelimFormat[textcite]{nameyeardelim}{\addthinspace}%\addcomma\space
\DeclareDelimFormat[textcite]{andothersdelim}{\iffieldequalstr{userf}{chinese}{\addthinspace}{\addspace}}%
\AtEveryCitekey{%
\iffieldequalstr{userf}{chinese}{\renewcommand*{\andothersdelim}{\addthinspace}}%\addthinspace
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015ms.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015ms.bbx
index 0efdddd18d..012a468c0b 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015ms.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015ms.bbx
@@ -11,7 +11,7 @@
%
% 版本和时间信息
%
-\def\versionofgbtstyle{2019/08/28 v1.0s}
+\def\versionofgbtstyle{2020/03/20 v1.0u}
\def\versionofbiblatex{\abx@version}
\ProvidesFile{gb7714-2015ms.bbx}[\versionofgbtstyle biblatex bibliography style]
%\RequireBiber[3]%显式指定用biber后端,当用bibtex时会报错,但其实不会影响编译,只是采用bibtex后无法达成格式需求
@@ -913,10 +913,6 @@
\step[fieldsource=entrykey]
\step[fieldset=keywords, origfieldval]
}
- \map{%文献题名的中文判断,将信息保存到userd中,避免因为标签生成原因导致title域被清除而产生问题
- \step[fieldsource=title, match=\regexp{[\x{2FF0}-\x{9FA5}]},final]%
- \step[fieldset=userd, fieldvalue={chinese}]
- }
\map{\step[fieldsource=title,match=\regexp{[\x{0100}-\x{017F}]},final]%\x80-\xFF
\step[fieldset=userd,fieldvalue={french}]%法语,0080开始到00ff的字符没法匹配有点奇怪
}
@@ -932,14 +928,14 @@
\step[fieldsource=title,match=\regexp{[\x{1100}-\x{11FF}\x{3130}-\x{318F}\x{AC00}-\x{D7AF}]},final]
\step[fieldset=userd,fieldvalue={korean}]%韩语
}
+ \map{%文献题名的中文判断,将信息保存到userd中,避免因为标签生成原因导致title域被清除而产生问题
+ \step[fieldsource=title, match=\regexp{[\x{2FF0}-\x{9FA5}]},final]%
+ \step[fieldset=userd, fieldvalue={chinese}]
+ }
\map{%将没有设置userd,且存在title域的默认设置为英文
\step[fieldsource=title,final]
\step[fieldset=userd,fieldvalue={english}]
}
- \map{%作者的中文判断
- \step[fieldsource=author, match=\regexp{[\x{2FF0}-\x{9FA5}]},final]
- \step[fieldset=userf, fieldvalue={chinese}]
- }
\map{\step[fieldsource=author,match=\regexp{[\x{0100}-\x{017F}]},final]%\x80-\xFF
\step[fieldset=userf,fieldvalue={french}]%法语,0080开始到00ff的字符没法匹配有点奇怪
}
@@ -955,14 +951,14 @@
\step[fieldsource=author,match=\regexp{[\x{1100}-\x{11FF}\x{3130}-\x{318F}\x{AC00}-\x{D7AF}]},final]
\step[fieldset=userf,fieldvalue={korean}]%韩语
}
+ \map{%作者的中文判断
+ \step[fieldsource=author, match=\regexp{[\x{2FF0}-\x{9FA5}]},final]
+ \step[fieldset=userf, fieldvalue={chinese}]
+ }
\map{%将没有设置userf,且存在author域的默认设置为英文
\step[fieldsource=author,final]
\step[fieldset=userf,fieldvalue={english}]
}
- \map{%译者的中文判断
- \step[fieldsource=translator, match=\regexp{[\x{2FF0}-\x{9FA5}]},final]
- \step[fieldset=usere, fieldvalue={chinese}]
- }
\map{\step[fieldsource=translator,match=\regexp{[\x{0100}-\x{017F}]},final]%\x80-\xFF
\step[fieldset=usere,fieldvalue={french}]%法语,0080开始到00ff的字符没法匹配有点奇怪
}
@@ -978,14 +974,14 @@
\step[fieldsource=translator,match=\regexp{[\x{1100}-\x{11FF}\x{3130}-\x{318F}\x{AC00}-\x{D7AF}]},final]
\step[fieldset=usere,fieldvalue={korean}]%韩语
}
+ \map{%译者的中文判断
+ \step[fieldsource=translator, match=\regexp{[\x{2FF0}-\x{9FA5}]},final]
+ \step[fieldset=usere, fieldvalue={chinese}]
+ }
\map{%将没有设置usere,且存在translator域的默认设置为英文
\step[fieldsource=translator,final]
\step[fieldset=usere,fieldvalue={english}]
}
- \map{%编者的中文判断
- \step[fieldsource=editor, match=\regexp{[\x{2FF0}-\x{9FA5}]},final]%直接匹配cjk字符,unicode编码位置从2FF0到9FA5
- \step[fieldset=userc, fieldvalue={chinese}]
- }
\map{\step[fieldsource=editor,match=\regexp{[\x{0100}-\x{017F}]},final]%\x80-\xFF
\step[fieldset=userc,fieldvalue={french}]%法语,0080开始到00ff的字符没法匹配有点奇怪
}
@@ -1001,14 +997,14 @@
\step[fieldsource=editor,match=\regexp{[\x{1100}-\x{11FF}\x{3130}-\x{318F}\x{AC00}-\x{D7AF}]},final]
\step[fieldset=userc,fieldvalue={korean}]%韩语
}
+ \map{%编者的中文判断
+ \step[fieldsource=editor, match=\regexp{[\x{2FF0}-\x{9FA5}]},final]%直接匹配cjk字符,unicode编码位置从2FF0到9FA5
+ \step[fieldset=userc, fieldvalue={chinese}]
+ }
\map{%将没有设置userc,且存在editor域的默认设置为英文
\step[fieldsource=editor,final]
\step[fieldset=userc,fieldvalue={english}]
}
- \map{%编者的中文判断
- \step[fieldsource=bookauthor, match=\regexp{[\x{2FF0}-\x{9FA5}]},final]%直接匹配cjk字符,unicode编码位置从2FF0到9FA5
- \step[fieldset=userb, fieldvalue={chinese}]
- }
\map{\step[fieldsource=bookauthor,match=\regexp{[\x{0100}-\x{017F}]},final]%\x80-\xFF
\step[fieldset=userb,fieldvalue={french}]%法语,0080开始到00ff的字符没法匹配有点奇怪
}
@@ -1024,6 +1020,10 @@
\step[fieldsource=bookauthor,match=\regexp{[\x{1100}-\x{11FF}\x{3130}-\x{318F}\x{AC00}-\x{D7AF}]},final]
\step[fieldset=userb,fieldvalue={korean}]%韩语
}
+ \map{%编者的中文判断
+ \step[fieldsource=bookauthor, match=\regexp{[\x{2FF0}-\x{9FA5}]},final]%直接匹配cjk字符,unicode编码位置从2FF0到9FA5
+ \step[fieldset=userb, fieldvalue={chinese}]
+ }
\map{%将没有设置userc,且存在editor域的默认设置为英文
\step[fieldsource=bookauthor,final]
\step[fieldset=userb,fieldvalue={english}]
@@ -1197,9 +1197,12 @@
%
% 增加一个\bibitemindent尺寸用于控制list环境的itemindent
% v1.0l,20180615,hzz
+% v1.0t,20200319,hzz,增加尺寸\biblabelextend使某些字体下标签宽度不足时可增加标签宽度
\setlength{\bibhang}{\biblabelsep}%
\newlength{\bibitemindent}
\setlength{\bibitemindent}{0pt}
+\newlength{\biblabelextend}
+\setlength{\biblabelextend}{0pt}
\defbibenvironment{bibliography}
@@ -1207,7 +1210,8 @@
{\printtext[labelnumberwidth]{%
\printfield{labelprefix}%
\printfield{labelnumber}}}
- {\setlength{\labelwidth}{\labelnumberwidth}%
+ {\addtolength{\labelnumberwidth}{\biblabelextend}%
+ \setlength{\labelwidth}{\labelnumberwidth}%
\setlength{\labelsep}{\biblabelsep}%
\setlength{\leftmargin}{\bibhang}%
\addtolength{\leftmargin}{\labelnumberwidth}%
@@ -2383,7 +2387,8 @@ incollection,proceedings,inproceedings]{number}{%
\usebibmacro{note+pages}%
\iffieldequalstr{note}{news}{}{%当是新闻时不输出修改或更新日期
\iffieldundef{url}{}{%当没有网址时也不输出
- \usebibmacro{modifydate}}}%带括号的修改或更新日期,
+ \iftoggle{bbx:url}{%当url选项为false时,也不输出
+ \usebibmacro{modifydate}}{}}}%带括号的修改或更新日期,
\usebibmacro{doi+eprint+url}%从后面移上来,调整url和页码之间的位置
\newunit\newblock
\iftoggle{bbx:isbn}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015ms.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015ms.cbx
index 8c19244e17..cb2f092213 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015ms.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015ms.cbx
@@ -7,7 +7,7 @@
%% Released under the LaTeX Project Public License v1.3c or later
%% ---------------------------------------------------------------
%%
-\def\versionofgbtstyle{2019/08/28 v1.0s}
+\def\versionofgbtstyle{2020/03/20 v1.0u}
\ProvidesFile{gb7714-2015ms.cbx}[\versionofgbtstyle biblatex citation style]
%
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015mx.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015mx.bbx
index 81cf2b95b8..0ff11167a2 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015mx.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015mx.bbx
@@ -11,7 +11,7 @@
%
% 版本和时间信息
%
-\def\versionofgbtstyle{2019/08/28 v1.0s}
+\def\versionofgbtstyle{2020/03/20 v1.0u}
\def\versionofbiblatex{\abx@version}
\ProvidesFile{gb7714-2015mx.bbx}[\versionofgbtstyle biblatex bibliography style]
%\RequireBiber[3]%显式指定用biber后端,当用bibtex时会报错,但其实不会影响编译,只是采用bibtex后无法达成格式需求
@@ -964,10 +964,6 @@
\step[fieldsource=entrykey]
\step[fieldset=keywords, origfieldval]
}
- \map{%文献题名的中文判断,将信息保存到userd中,避免因为标签生成原因导致title域被清除而产生问题
- \step[fieldsource=title, match=\regexp{[\x{2FF0}-\x{9FA5}]},final]%
- \step[fieldset=userd, fieldvalue={chinese}]
- }
\map{\step[fieldsource=title,match=\regexp{[\x{0100}-\x{017F}]},final]%\x80-\xFF
\step[fieldset=userd,fieldvalue={french}]%法语,0080开始到00ff的字符没法匹配有点奇怪
}
@@ -983,14 +979,14 @@
\step[fieldsource=title,match=\regexp{[\x{1100}-\x{11FF}\x{3130}-\x{318F}\x{AC00}-\x{D7AF}]},final]
\step[fieldset=userd,fieldvalue={korean}]%韩语
}
+ \map{%文献题名的中文判断,将信息保存到userd中,避免因为标签生成原因导致title域被清除而产生问题
+ \step[fieldsource=title, match=\regexp{[\x{2FF0}-\x{9FA5}]},final]%
+ \step[fieldset=userd, fieldvalue={chinese}]
+ }
\map{%将没有设置userd,且存在title域的默认设置为英文
\step[fieldsource=title,final]
\step[fieldset=userd,fieldvalue={english}]
}
- \map{%作者的中文判断
- \step[fieldsource=author, match=\regexp{[\x{2FF0}-\x{9FA5}]},final]
- \step[fieldset=userf, fieldvalue={chinese}]
- }
\map{\step[fieldsource=author,match=\regexp{[\x{0100}-\x{017F}]},final]%\x80-\xFF
\step[fieldset=userf,fieldvalue={french}]%法语,0080开始到00ff的字符没法匹配有点奇怪
}
@@ -1006,14 +1002,14 @@
\step[fieldsource=author,match=\regexp{[\x{1100}-\x{11FF}\x{3130}-\x{318F}\x{AC00}-\x{D7AF}]},final]
\step[fieldset=userf,fieldvalue={korean}]%韩语
}
+ \map{%作者的中文判断
+ \step[fieldsource=author, match=\regexp{[\x{2FF0}-\x{9FA5}]},final]
+ \step[fieldset=userf, fieldvalue={chinese}]
+ }
\map{%将没有设置userf,且存在author域的默认设置为英文
\step[fieldsource=author,final]
\step[fieldset=userf,fieldvalue={english}]
}
- \map{%译者的中文判断
- \step[fieldsource=translator, match=\regexp{[\x{2FF0}-\x{9FA5}]},final]
- \step[fieldset=usere, fieldvalue={chinese}]
- }
\map{\step[fieldsource=translator,match=\regexp{[\x{0100}-\x{017F}]},final]%\x80-\xFF
\step[fieldset=usere,fieldvalue={french}]%法语,0080开始到00ff的字符没法匹配有点奇怪
}
@@ -1029,14 +1025,14 @@
\step[fieldsource=translator,match=\regexp{[\x{1100}-\x{11FF}\x{3130}-\x{318F}\x{AC00}-\x{D7AF}]},final]
\step[fieldset=usere,fieldvalue={korean}]%韩语
}
+ \map{%译者的中文判断
+ \step[fieldsource=translator, match=\regexp{[\x{2FF0}-\x{9FA5}]},final]
+ \step[fieldset=usere, fieldvalue={chinese}]
+ }
\map{%将没有设置usere,且存在translator域的默认设置为英文
\step[fieldsource=translator,final]
\step[fieldset=usere,fieldvalue={english}]
}
- \map{%编者的中文判断
- \step[fieldsource=editor, match=\regexp{[\x{2FF0}-\x{9FA5}]},final]%直接匹配cjk字符,unicode编码位置从2FF0到9FA5
- \step[fieldset=userc, fieldvalue={chinese}]
- }
\map{\step[fieldsource=editor,match=\regexp{[\x{0100}-\x{017F}]},final]%\x80-\xFF
\step[fieldset=userc,fieldvalue={french}]%法语,0080开始到00ff的字符没法匹配有点奇怪
}
@@ -1052,14 +1048,14 @@
\step[fieldsource=editor,match=\regexp{[\x{1100}-\x{11FF}\x{3130}-\x{318F}\x{AC00}-\x{D7AF}]},final]
\step[fieldset=userc,fieldvalue={korean}]%韩语
}
+ \map{%编者的中文判断
+ \step[fieldsource=editor, match=\regexp{[\x{2FF0}-\x{9FA5}]},final]%直接匹配cjk字符,unicode编码位置从2FF0到9FA5
+ \step[fieldset=userc, fieldvalue={chinese}]
+ }
\map{%将没有设置userc,且存在editor域的默认设置为英文
\step[fieldsource=editor,final]
\step[fieldset=userc,fieldvalue={english}]
}
- \map{%编者的中文判断
- \step[fieldsource=bookauthor, match=\regexp{[\x{2FF0}-\x{9FA5}]},final]%直接匹配cjk字符,unicode编码位置从2FF0到9FA5
- \step[fieldset=userb, fieldvalue={chinese}]
- }
\map{\step[fieldsource=bookauthor,match=\regexp{[\x{0100}-\x{017F}]},final]%\x80-\xFF
\step[fieldset=userb,fieldvalue={french}]%法语,0080开始到00ff的字符没法匹配有点奇怪
}
@@ -1075,6 +1071,10 @@
\step[fieldsource=bookauthor,match=\regexp{[\x{1100}-\x{11FF}\x{3130}-\x{318F}\x{AC00}-\x{D7AF}]},final]
\step[fieldset=userb,fieldvalue={korean}]%韩语
}
+ \map{%编者的中文判断
+ \step[fieldsource=bookauthor, match=\regexp{[\x{2FF0}-\x{9FA5}]},final]%直接匹配cjk字符,unicode编码位置从2FF0到9FA5
+ \step[fieldset=userb, fieldvalue={chinese}]
+ }
\map{%将没有设置userc,且存在editor域的默认设置为英文
\step[fieldsource=bookauthor,final]
\step[fieldset=userb,fieldvalue={english}]
@@ -1346,23 +1346,24 @@
%
% 排序格式,用降序,及userb域,针对biblatex3.8及以上版本
%
- \DeclareSortingTemplate{gb7714-2015}{
+\DeclareSortingTemplate{gb7714-2015}{
\sort{
\field{presort}
}
- \sort[final]{
- \field{sortkey}
- }
+ %\sort[final]{
+ %\field{sortkey}
+ %}
\sort{
\field{lansortorder}%language
}
+ \sort{
+ \field{sortkey}
+ }
\sort{%[direction=descending]
\field{sortname}
\field{author}
\field{editor}
\field{translator}
- \field{sorttitle}
- \field{title}
}
\sort{
\field{sortyear}
@@ -1383,19 +1384,20 @@
\sort{
\field{presort}
}
- \sort[final]{
- \field{sortkey}
- }
+% \sort[final]{
+% \field{sortkey}
+% }
\sort{
\field{lansortorder}%language
}
+ \sort[direction=descending]{
+ \field{sortkey}
+ }
\sort[direction=descending]{%
\field{sortname}
\field{author}
\field{editor}
\field{translator}
- \field{sorttitle}
- \field{title}
}
\sort{
\field{sortyear}
@@ -1416,9 +1418,9 @@
\sort{
\field{presort}
}
- \sort[final]{
- \field{sortkey}
- }
+% \sort[final]{
+% \field{sortkey}
+% }
\sort{
\field{lansortorder}%language
}
@@ -1426,13 +1428,14 @@
\field{sortyear}
\field{year}
}
+ \sort{
+ \field{sortkey}
+ }
\sort{%
\field{sortname}
\field{author}
\field{editor}
\field{translator}
- \field{sorttitle}
- \field{title}
}
\sort{
\field{sorttitle}
@@ -1449,9 +1452,9 @@
\sort{
\field{presort}
}
- \sort[final]{
- \field{sortkey}
- }
+% \sort[final]{
+% \field{sortkey}
+% }
\sort{
\field{lansortorder}%language
}
@@ -1459,13 +1462,14 @@
\field{sortyear}
\field{year}
}
+ \sort{
+ \field{sortkey}
+ }
\sort{%
\field{sortname}
\field{author}
\field{editor}
\field{translator}
- \field{sorttitle}
- \field{title}
}
\sort{
\field{sorttitle}
@@ -1485,9 +1489,12 @@
%
% 增加一个\bibitemindent尺寸用于控制list环境的itemindent
% v1.0l,20180615,hzz
+% v1.0t,20200319,hzz,增加尺寸\biblabelextend使某些字体下标签宽度不足时可增加标签宽度
\setlength{\bibhang}{\biblabelsep}%
\newlength{\bibitemindent}
\setlength{\bibitemindent}{0pt}
+\newlength{\biblabelextend}
+\setlength{\biblabelextend}{0pt}
\defbibenvironment{bibliography}
@@ -1495,7 +1502,8 @@
{\printtext[labelnumberwidth]{%
\printfield{labelprefix}%
\printfield{labelnumber}}}
- {\setlength{\labelwidth}{\labelnumberwidth}%
+ {\addtolength{\labelnumberwidth}{\biblabelextend}%
+ \setlength{\labelwidth}{\labelnumberwidth}%
\setlength{\labelsep}{\biblabelsep}%
\setlength{\leftmargin}{\bibhang}%
\addtolength{\leftmargin}{\labelnumberwidth}%
@@ -2765,7 +2773,8 @@ incollection,proceedings,inproceedings]{number}{%
\usebibmacro{note+pages}%
\iffieldequalstr{note}{news}{}{%当是新闻时不输出修改或更新日期
\iffieldundef{url}{}{%当没有网址时也不输出
- \usebibmacro{modifydate}}}%带括号的修改或更新日期,
+ \iftoggle{bbx:url}{%当url选项为false时,也不输出
+ \usebibmacro{modifydate}}{}}}%带括号的修改或更新日期,
\usebibmacro{doi+eprint+url}%从后面移上来,调整url和页码之间的位置
\newunit\newblock
\iftoggle{bbx:isbn}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015mx.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015mx.cbx
index bf2e591f0c..ab1dfcb1b9 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015mx.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015mx.cbx
@@ -7,7 +7,7 @@
%% Released under the LaTeX Project Public License v1.3c or later
%% ---------------------------------------------------------------
%%
-\def\versionofgbtstyle{2019/08/28 v1.0s}
+\def\versionofgbtstyle{2020/03/20 v1.0u}
\ProvidesFile{gb7714-2015mx.cbx}[\versionofgbtstyle biblatex citation style]
%
diff --git a/macros/latex/contrib/glossaries-extra/CHANGES b/macros/latex/contrib/glossaries-extra/CHANGES
index 90ce1e53f5..3972b207c4 100644
--- a/macros/latex/contrib/glossaries-extra/CHANGES
+++ b/macros/latex/contrib/glossaries-extra/CHANGES
@@ -1,3 +1,22 @@
+1.44 (2020-03-23):
+
+ * glossaries-extra.sty:
+
+ - New command \printunsrtinnerglossary
+
+ - Added 'leveloffset' and 'groups' keys to \printunsrtglossary options.
+
+ - Added check for \@printgloss@checkexists (new to glossaries.sty v4.46)
+ This will restore the glossary existence check for \printglossary and
+ \printnoidxglossary
+
+ - \glswriteentry now uses \GlsXtrIfUnusedOrUndefined instead of
+ \ifglsused to allow 'indexonlyfirst' to work with bib2gls
+
+ * glossaries-extra-stylemods.sty:
+
+ - Bug fix: removed duplication of description in alttree style
+
1.43 (2020-02-28):
Bug fix: corrected bug in \glsxtrentryfmt that caused an infinite loop
diff --git a/macros/latex/contrib/glossaries-extra/README b/macros/latex/contrib/glossaries-extra/README
index d5f2c1f781..6710e081c8 100644
--- a/macros/latex/contrib/glossaries-extra/README
+++ b/macros/latex/contrib/glossaries-extra/README
@@ -1,4 +1,4 @@
-LaTeX Package : glossaries-extra v1.43 (2020-02-28)
+LaTeX Package : glossaries-extra v1.44 (2020-03-23)
Author : Nicola Talbot
https://www.dickimaw-books.com/contact
diff --git a/macros/latex/contrib/glossaries-extra/glossaries-extra-code.pdf b/macros/latex/contrib/glossaries-extra/glossaries-extra-code.pdf
index 098f3ba4b9..48d6bff21e 100644
Binary files a/macros/latex/contrib/glossaries-extra/glossaries-extra-code.pdf and b/macros/latex/contrib/glossaries-extra/glossaries-extra-code.pdf differ
diff --git a/macros/latex/contrib/glossaries-extra/glossaries-extra-manual.html b/macros/latex/contrib/glossaries-extra/glossaries-extra-manual.html
index 55a9a28769..d0813adde4 100644
--- a/macros/latex/contrib/glossaries-extra/glossaries-extra-manual.html
+++ b/macros/latex/contrib/glossaries-extra/glossaries-extra-manual.html
@@ -219,7 +219,7 @@ a span.HoLogo-TeX span.HoLogo-e{text-decoration:none;}
>
glossaries-extra.sty v1.43: an extension to the
+class="cmr-17">glossaries-extra.sty v1.44: an extension to the
glossaries package
@@ -243,7 +243,7 @@ href="http://www.dickimaw-books.com/" class="url" >http://www.dickimaw-books.com/
2020-02-28
+class="cmr-12">2020-03-23
@@ -307,11 +307,11 @@ class="cmss-10">datatool-base and amsgen. These packages are all available in the
-current TeX Live and MikTeX distributions. If any of them are missing, please
-update your TeX distribution using your update manager. (For help on this see, for
+current TeX Live and MikTeX distributions. If any of them are missing, please
+update your TeX distribution using your update manager. (For help on this see, for
example, How do I update my TeX distribution? or Updating TeX on Linux.)
+href="http://tex.stackexchange.com/questions/55437/how-do-i-update-my-tex-distribution" >How do I update my TeX distribution? or Updating TeX on Linux.)
Additional resources:
@@ -351,74 +351,74 @@ class="cmss-10">glossaries package.
1 Introduction
-
1.1 1.1 Package Defaults
-
1.2 1.2 New or Modified Package Options
2 Modifications to Existing Commands and Styles
-
2.1 2.1 Defining Entries
-
2.2 2.2 Entry Indexing
-
2.3 2.3 Cross-References (“see” and “see also”)
-
2.4 2.4 Entry Display Style Modifications
-
2.5 2.5 Entry Counting Modifications
-
2.6 2.6 First Use Flag
-
2.7 2.7 Plurals
-
2.8 2.8 Nested Links
-
2.9 2.9 Acronym Style Modifications
-
2.10 2.10 Glossaries
-
2.10.1 2.10.1 Glossary Style Modifications
3 New Glossary Styles
-
3.1 3.1 glossary-bookindex package
-
3.2 3.2 glossary-longextra package
-
3.3 3.3 glossary-topic package
4 Abbreviations
-
4.1 4.1 Tagging Initials
-
4.2 4.2 Abbreviation Styles
-
4.3 4.3 Shortcut Commands
-
4.4 4.4 Predefined Abbreviation Styles
-
4.4.1 4.4.1 Predefined Abbreviation Styles that Set the Regular Attribute
-
4.4.2 4.4.2 Predefined Abbreviation Styles that Don’t Set the Regular Attribute
-
4.5 4.5 Defining New Abbreviation Styles
5 Entries in Sectioning Titles, Headers, Captions and Contents
-
5.1 5.1 Simplistic Approach
-
5.2 5.2 New Commands Designed for Chapter/Section Headings
6 Categories
7 Counting References
-
7.1 7.1 Entry Counting (First Use Flag)
-
7.2 7.2 Link Counting
8 Auto-Indexing
@@ -428,45 +428,51 @@ href="#sec:autoindex" id="QQ2-1-41">Auto-Indexing
9 bib2gls: Managing Reference Databases
-
9.1 9.1 Selection
-
9.2 9.2 Sorting and Displaying the Glossary
-
9.3 9.3 The glossaries-extra-bib2gls package
-
9.3.1 9.3.1 Supplemental Locations
-
9.3.2 9.3.2 Nameref Record
-
9.3.3 9.3.3 Helper Commands for Resource Options
-
9.4 9.4 Supplementary Commands
-
9.5 9.5 Record Counting
10 Miscellaneous New Commands
-
10.1 10.1 Entry Fields
-
10.2 10.2 Display All Entries Without Sorting or Indexing
-
10.3 Standalone Entry Items
-
10.4 Entry Aliases
+
10.2.1 Hooks
+
10.2.2 Filtering
+
10.3 Partial Glossaries
+
10.4 Standalone Entry Items
+
10.5 Entry Aliases
11 On-the-Fly Document Definitions
+href="#sec:onthefly" id="QQ2-1-59">On-the-Fly Document Definitions
12 Supplemental Packages
-
12.1 Prefixes or Determiners
-
12.2 Accessibility Support
+href="#sec:supplemental" id="QQ2-1-60">Supplemental Packages
+
12.1 Prefixes or Determiners
+
12.2 Accessibility Support
13 Sample Files
+href="#sec:samples" id="QQ2-1-63">Sample Files
14 Multi-Lingual Support
+href="#sec:lang" id="QQ2-1-64">Multi-Lingual Support
Glossary
@@ -711,8 +717,8 @@ following:
\documentclass{article}
\usepackage[acronym]{glossaries}
\makeglossaries
-
\newacronym{laser}{laser}{light amplification by stimulated
-
emission of radiation}
+
\newacronym{laser}{laser}{light amplification by stimulated
+
emission of radiation}
\begin{document}
\gls{laser}
\printglossaries
@@ -734,10 +740,10 @@ class="cmtt-10">makeglossaries, you’ll get the warning message:
-Warning: File 'test.glo' is empty.
-
Have you used any entries defined in glossary 'main'?
-
Remember to use package option 'nomain' if you
-
don't want to use the main glossary.
+Warning: File 'test.glo' is empty.
+
Have you used any entries defined in glossary 'main'?
+
Remember to use package option 'nomain' if you
+
don't want to use the main glossary.
(where the original file is called test.tex) but if you simply call
-No file test.gls.
+No file test.gls.
This doesn’t occur with nomain\usepackage[nomain,acronym,postdot]{glossaries-extra}
\makeglossaries
\setabbreviationstyle[acronym]{long-short}
-
\newacronym{laser}{laser}{light amplification by stimulated
-
emission of radiation}
+
\newacronym{laser}{laser}{light amplification by stimulated
+
emission of radiation}
\begin{document}
\gls{laser}
\printglossaries
@@ -971,7 +977,7 @@ class="cmss-10">=dot
- \renewcommand{\glspostdescription}{.\spacefactor\sfcode`\. }
+ \renewcommand{\glspostdescription}{.\spacefactor\sfcode`\. }
@@ -997,7 +1003,7 @@ class="cmss-10">=none
\newcommand*{\glspostdescription}{%
-
\ifglsnopostdot\else.\spacefactor\sfcode`\. \fi
+
\ifglsnopostdot\else.\spacefactor\sfcode`\. \fi
}
where the conditional is determined by the myDoc.tex):
- pdflatex myDoc
-
bib2gls myDoc
-
pdflatex myDoc
+ pdflatex myDoc
+
bib2gls myDoc
+
pdflatex myDoc
Note that myDoc.tex):
- pdflatex myDoc
-
bib2gls myDoc
-
pdflatex myDoc
-
makeglossaries myDoc
-
pdflatex myDoc
+ pdflatex myDoc
+
bib2gls myDoc
+
pdflatex myDoc
+
makeglossaries myDoc
+
pdflatex myDoc
With the recording on (\glsadd after the caption (not before). For
\begin{figure}[htbp]
-
\centering
-
\includegraphics{example-image}
-
\caption{Sample \glsfmttext{foobar} figure}
-
\glsadd{foobar}
+
\centering
+
\includegraphics{example-image}
+
\caption{Sample \glsfmttext{foobar} figure}
+
\glsadd{foobar}
\end{figure}
@@ -1695,9 +1701,9 @@ class="cmss-10">equation
\renewcommand{\glslinkpresetkeys}{%
-
\ifmmode \setkeys{glslink}{counter=equation}\fi}
+
\ifmmode \setkeys{glslink}{counter=equation}\fi}
\renewcommand{\glsaddpresetkeys}{%
-
\ifmmode \setkeys{glossadd}{counter=equation}\fi}
+
\ifmmode \setkeys{glossadd}{counter=equation}\fi}
@@ -1810,7 +1816,7 @@ class="cmss-10">document environment, it
uses the .glsdefs temporary file to store the entry definitions so
- that on the next LaTeX run the entries are defined at the beginning
+ that on the next LaTeX run the entries are defined at the beginning
of the documentdocument\newglossaryentry. (For example, when the glossary is displayed
in the front matter.) This method of saving the definitions for the
- next LaTeX run has drawbacks that are detailed in the glossaries
user manual.
Remember that if name={⟨symbol⟩},
sort={⟨ sort={⟨label⟩},type=symbols,category=symbol,⟨options⟩name={⟨number⟩},
sort={⟨ sort={⟨label⟩},type=numbers,category=number,⟨options⟩\glsxtractivatenopost and \glspostdescription, see §10.3
+class="tcrm-1000">§10.4
Standalone Entry Items).
The commands used by Categories
for furt
class="cmss-10">alias, which allows an entry to be alias to another entry. See §10.4 §10.5 Entry
Aliases for further details.
@@ -2836,13 +2842,13 @@ class="cmtt-10">\glsxtrinitwrgloss
\newcommand*{\glsxtrinitwrgloss}{%
-
\glsifattribute{\glslabel}{wrgloss}{after}%
-
{%
-
\glsxtrinitwrglossbeforefalse
-
}%
-
{%
-
\glsxtrinitwrglossbeforetrue
-
}%
+
\glsifattribute{\glslabel}{wrgloss}{after}%
+
{%
+
\glsxtrinitwrglossbeforefalse
+
}%
+
{%
+
\glsxtrinitwrglossbeforetrue
+
}%
}
This sets the conditional
@@ -2882,7 +2888,7 @@ class="cmtt-10">}{\glstextformat{⟨link text⟩ text⟩}}
@@ -2901,7 +2907,7 @@ class="cmtt-10">\hyperlink{⟨target⟩}{⟨link text⟩ text⟩}}
@@ -2944,7 +2950,7 @@ class="cmtt-10">\hyperlink{⟨target⟩}{⟨link text⟩ text⟩}}
@@ -3077,7 +3083,7 @@ class="cmti-10">char⟩ is the character used as the modifier and
class="cmti-10">options⟩ is the default set of
options (which may be overridden). Note that ⟨char⟩ must be a single character (not a
-UTF-8 character, unless you are using XƎLATEX or LuaLATEX).
+UTF-8 character, unless you are using XƎLATEX or LuaLATEX).
When choosing the character ⟨char⟩ take care of any changes in category code.
@@ -3152,9 +3158,9 @@ class="cmss-10">equation
\renewcommand{\glslinkpresetkeys}{%
-
\ifmmode \setkeys{glslink}{counter=equation}\fi}
+
\ifmmode \setkeys{glslink}{counter=equation}\fi}
\renewcommand{\glsaddpresetkeys}{%
-
\ifmmode \setkeys{glossadd}{counter=equation}\fi}
+
\ifmmode \setkeys{glossadd}{counter=equation}\fi}
In this case, the counter can be overridden with an explicit use of counterequations
\renewcommand{\glslinkpostsetkeys}{%
-
\ifmmode \setkeys{glslink}{counter=equation}\fi}
+
\ifmmode \setkeys{glslink}{counter=equation}\fi}
\renewcommand{\glsaddpostsetkeys}{%
-
\ifmmode \setkeys{glossadd}{counter=equation}\fi}
+
\ifmmode \setkeys{glossadd}{counter=equation}\fi}
As from version 1.14, there are two new keys for num⟩⟨sep⟩]*⟨num⟩
where ⟨num⟩ is an arabic number (0, 1, …), roman numeral (i, ii, … or I, II, …) or a
+class="cmti-10">num⟩ is an arabic number (0, 1, …), roman numeral (i, ii, … or I, II, …) or a
character from a, …, z or A, …, Z, and [⟨num⟩⟨sep⟩]* indicates zero or more
@@ -3233,7 +3239,7 @@ example,
-\glsadd[thevalue={Supplementary Material}]{sample}
+\glsadd[thevalue={Supplementary Material}]{sample}
This location value will be accepted by suppl.tex contains:
\documentclass{article}
\usepackage{glossaries-extra}
-
\newglossaryentry{sample}{name={sample},description={an example}}
+
\newglossaryentry{sample}{name={sample},description={an example}}
\renewcommand{\thepage}{S.\arabic{page}}
\begin{document}
-
First page.
+
First page.
\newpage
\gls{sample}.
\end{document}
@@ -3281,9 +3287,9 @@ example:
\documentclass{article}
\usepackage{glossaries-extra}
\makeglossaries
-
\newglossaryentry{sample}{name={sample},description={an example}}
+
\newglossaryentry{sample}{name={sample},description={an example}}
\begin{document}
-
Some \gls{sample} text.
+
Some \gls{sample} text.
\printglossaries
\glsadd[thevalue={S.2}]{sample}
\end{document}
@@ -3306,7 +3312,7 @@ class="cmss-10">externallocation
\glssetcategoryattribute{supplemental}{externallocation}{suppl.pdf}
\newglossaryentry{sample}{category=supplemental,
-
name={sample},description={an example}}
+
name={sample},description={an example}}
Next you need to add glsxtrsupphypernumber as the format:
@@ -3595,7 +3601,7 @@ as:
\renewcommand*{\glsseeitemformat}[1]{%
-
\ifglshasshort{\glslabel}{\glsfmttext{#1}}{\glsfmtname{#1}}%
+
\ifglshasshort{\glslabel}{\glsfmttext{#1}}{\glsfmtname{#1}}%
}
(Note that as from
\renewcommand*{\glsxtrpostdescgeneral}{%
-
\ifglshasfield{see}{\glscurrententrylabel}
-
{, \glsxtrusesee{\glscurrententrylabel}}%
-
{}%
+
\ifglshasfield{see}{\glscurrententrylabel}
+
{, \glsxtrusesee{\glscurrententrylabel}}%
+
{}%
}
⟨label⟩}{⟨xr list⟩ list⟩}
@@ -4052,7 +4058,7 @@ category:
\renewcommand*{\glsxtrregularfont}[1]{%
-
\glsifcategory{\glslabel}{general}{\textsf{#1}}{#1}}
+
\glsifcategory{\glslabel}{general}{\textsf{#1}}{#1}}
or query the category attribute, for example, provide a custom attribute called
font:
\glssetcategoryattribute{general}{font}{sf}
\renewcommand*{\glsxtrregularfont}[1]{%
-
\glsifattribute{\glslabel}{font}{sf}{\textsf{#1}}{#1}}
+
\glsifattribute{\glslabel}{font}{sf}{\textsf{#1}}{#1}}
As from version 1.21, it’s simpler to just do, for example:
@@ -4159,7 +4165,7 @@ href="#sec:nested">Nested Links
) instead.
class="cmtt-10">\glsxtrpostlink just does \glsxtrpostlink⟨category⟩ if
+ id="dx1-9036">
if
it exists, where ⟨category⟩ is the category label for the current entry. (For
example, for the
\newcommand*{\glsxtrpostlinkgeneral}{%
-
\glsxtrpostlinkAddDescOnFirstUse
+
\glsxtrpostlinkAddDescOnFirstUse
}
or, as from v1.31, you can use
@@ -4205,12 +4211,12 @@ class="cmtt-10">}
\glsxtrpostlink⟨category⟩ is defined the hook will do that and then insert a
+ id="dx1-9039">
is defined the hook will do that and then insert a
full stop with the space factor adjusted to match the end of sentence. If
\glsxtrpostlink⟨category⟩ hasn’t been defined, the space factor is adjusted to match
+ id="dx1-9040">
hasn’t been defined, the space factor is adjusted to match
the end of sentence. This means that if you have, for example, an entry that ends
with a full stop, a redundant following full stop will be discarded and the space factor
adjusted (in case the entry is in uppercase) unless the entry is followed by additional
@@ -4238,7 +4244,7 @@ class="cmss-10">symbol
\newcommand*{\glsxtrpostlinksymbol}{%
-
\glsxtrpostlinkAddDescOnFirstUse
+
\glsxtrpostlinkAddDescOnFirstUse
}
@@ -4325,7 +4331,7 @@ class="cmss-10">general
\newcommand*{\glsxtrpostlinkgeneral}{%
-
\glsxtrifwasfirstuse{\footnote{\glsentrydesc{\glslabel}}}{}%
+
\glsxtrifwasfirstuse{\footnote{\glsentrydesc{\glslabel}}}{}%
}
@@ -4501,7 +4507,7 @@ the commands provided with the
-\ul{Some text about \gls{html}.}
+\ul{Some text about \gls{html}.}
- \gls{\uppercase ssi} enabled \gls{html}
+ \gls{\uppercase ssi} enabled \gls{html}
which just doesn’t work. Grouping the \gls{ssi} doesn’t work either as this
@@ -4897,7 +4903,7 @@ class="cmtt-10">\gls{ssi} doesn’t work either as this
- \uppercase{\gls{ssi}} enabled \gls{html}
+ \uppercase{\gls{ssi}} enabled \gls{html}
This will upper case the label ssi so the entry won’t be recognised.
@@ -4938,7 +4944,7 @@ class="cmtt-10">shtml. For example:
- This section discusses \gls{ssi}, \gls{html} and \gls{shtml}.
+ This section discusses \gls{ssi}, \gls{html} and \gls{shtml}.
This produces:
@@ -4959,8 +4965,8 @@ class="cmtt-10">shtml entry, for example:
- The sample files are either \gls{html} or \gls{shtml}, but let's
-
first discuss \gls{ssi}.
+ The sample files are either \gls{html} or \gls{shtml}, but let's
+
first discuss \gls{ssi}.
This produces:
@@ -4980,7 +4986,7 @@ class="cmtt-10">shtml entry is used before (or without) the other two
- This article is an introduction to \gls{shtml}.
+ This article is an introduction to \gls{shtml}.
This produces:
@@ -5024,7 +5030,7 @@ class="cmtt-10">shtml
- \gls{shtml} ... \glsreset{html}\gls{shtml}
+ \gls{shtml} ... \glsreset{html}\gls{shtml}
The next use of shtml produces “Shypertext markup language (HTML)”,
@@ -5076,8 +5082,8 @@ like:
\newacronym
-
[description={\acrshort{ssi} enabled \acrshort{html}}]
-
{shtml}{SHTML}{SSI enabled HTML}
+
[description={\acrshort{ssi} enabled \acrshort{html}}]
+
{shtml}{SHTML}{SSI enabled HTML}
with glossaries or:
@@ -5087,8 +5093,8 @@ class="cmss-10">glossaries or:
\newabbreviation
-
[description={\glsxtrshort{ssi} enabled \glsxtrshort{html}}]
-
{shtml}{SHTML}{SSI enabled HTML}
+
[description={\glsxtrshort{ssi} enabled \glsxtrshort{html}}]
+
{shtml}{SHTML}{SSI enabled HTML}
with glossaries-extra. This fixes all the above listed problems (as long as you don’t
@@ -5110,9 +5116,9 @@ class="cmtt-10">\glsabbrvfont:
\setabbreviationstyle{long-short-sc}
-
\newabbreviation{ssi}{ssi}{server-side includes}
-
\newabbreviation{html}{html}{hypertext markup language}
-
\newabbreviation{shtml}{shtml}{\glsabbrvfont{ssi} enabled
+
\newabbreviation{ssi}{ssi}{server-side includes}
+
\newabbreviation{html}{html}{hypertext markup language}
+
\newabbreviation{shtml}{shtml}{\glsabbrvfont{ssi} enabled
\glsabbrvfont{html}}
This will pick up the font style setting of the outer entry (shtml, in the above case).
@@ -5140,7 +5146,7 @@ form
-\gls{ssi} enabled \gls{html}
+\gls{ssi} enabled \gls{html}
is treated as
@@ -5148,7 +5154,7 @@ form
-{\glstext[hyper=false,noindex]{ssi}} enabled
+{\glstext[hyper=false,noindex]{ssi}} enabled
{\glstext[hyper=false,noindex]{html}}
This overcomes problems shtml entry had instead been defined as:
-\newacronym{shtml}{SHTML}{\acrshort{ssi} enabled \acrshort{html}}
+\newacronym{shtml}{SHTML}{\acrshort{ssi} enabled \acrshort{html}}
then (using the first use will be like
-{\acronymfont{\glsentryshort{ssi}}} enabled
-
{\acronymfont{\glsentryshort{html}}} (SHTML)
+{\acronymfont{\glsentryshort{ssi}}} enabled
+
{\acronymfont{\glsentryshort{html}}} (SHTML)
whereas if the entry is defined as:
@@ -5225,7 +5231,7 @@ href="#glo:firstuse">first use
will be like
-\newabbreviation{shtml}{SHTML}{\glsxtrshort{ssi} enabled
+\newabbreviation{shtml}{SHTML}{\glsxtrshort{ssi} enabled
\glsxtrshort{html}}
then the first use will be like:
-{\glsabbrvfont{\glsentryshort{ssi}}} enabled
-
{\glsabbrvfont{\glsentryshort{html}}} (SHTML)
+{\glsabbrvfont{\glsentryshort{ssi}}} enabled
+
{\glsabbrvfont{\glsentryshort{html}}} (SHTML)
Note that the first optional argument of \acrshort or field⟩ is the field label and corresponds to a command in the form \gls⟨field⟩
-(e.g. \glstext) or in the form \glsxtr⟨field⟩ (e.g. field⟩ (e.g. \glsxtrshort).
There’s a shortcut command for the most common fields:
@@ -5555,7 +5561,7 @@ class="cmss-10">glossaries
\usepackage[acronym,nopostdot,toc]{glossaries}
\makeglossaries
\setacronymstyle{long-short}
-
\newacronym{html}{HTML}{hypertext markup language}
+
\newacronym{html}{HTML}{hypertext markup language}
\begin{document}
\gls{html}
\printglossaries
@@ -5572,7 +5578,7 @@ class="cmss-10">glossaries-extra:
\usepackage[acronym]{glossaries-extra}
\makeglossaries
\setabbreviationstyle[acronym]{long-short}
-
\newacronym{html}{HTML}{hypertext markup language}
+
\newacronym{html}{HTML}{hypertext markup language}
\begin{document}
\gls{html}
\printglossaries
@@ -6046,13 +6052,64 @@ class="cmtt-10">\glsxtrsetglossarylabel{⟨label⟩}
- but take care of duplicate labels if it’s not scoped.
-
-
-
+ groups. This is a boolean key (new to v1.44) designed for use with
+ \printunsrtglossary (and other \printunsrt… variations). It has no effect
+ with \printglossary and \printnoidxglossary.
+ If true (default), group formation (group header and group skip) will be
+ attempted if the group key has been defined and set. Note that some styles
+ ignore the header and group skip commands so there may not be a noticeable
+ difference in those cases. If this key is set to false, no group formation will
+ occur so there won’t be any group markup to separate letter groups so
+ there will be no visual separation regardless of style or the group skip
+ setting.
+
+ leveloffset. This key (new to v1.44) is designed for use with \printunsrtglossary
+ (and other \printunsrt… variations). It has no effect with \printglossary
+ and \printnoidxglossary.
+ The value may either be a simple integer ⟨n⟩ to indicate assignment or in the
+ form ++⟨n⟩ to indicate an increment. This will locally assign or increment the
+ level offset. The default value is 0. This will cause entries to be displayed as
+ though their hierarchical level is N more than it would normally be (where N is
+ the level offset). For example, a top-level entry (that is, an entry without a
+ parent) would normally have a hierarchical level of 0. With a level offset of 1,
+ it would be treated by the glossary style as though it was actually a
+ level 1 entry. (Remember that some styles don’t support hierarchical
+ glossaries.)
+
Note that the group formation (if supported) will still occur between entries
+ that don’t have a parent, regardless of the level offset. This can cause odd
+ results.
+
+
+
+
+
+
2.10.1 Glossary Style Modifications
-The The glossaries-extra-stylemods package (more conveniently loaded through the
§2.10.1 The glossaries-extra-stylemods Package.
-
The The glossaries package tries to determine the group title from its label by first
checking if \glsxtr@grouptitle@⟨label⟩
which shouldn’t clash with another package. You can set the group title
using
-
-
+
For example:
-\glsxtrsetgrouptitle{A}{A (a)}
+\glsxtrsetgrouptitle{A}{A (a)}
- This uses a global assignment. If you need to scope the change you can
+
This uses a global assignment. If you need to scope the change you can
use
-
-
-
+
+
Style Hooks
-The commands The commands \glossentryname and \glossentrydesc§
6
Categories). This means you can make simple font or case-changing
modifications to the name and description without defining a new glossary
style.
- (New to version 1.42.) The command (New to version 1.42.) The command \glossentrysymbol is modified to take into
account the \texorpdfstring
{⟨TeX code⟩ code⟩}{⟨PDF⟩}
The ⟨TeX code⟩ part is robust and deals with the actual typesetting of the symbol.
+class="cmti-10"> code⟩ part is robust and deals with the actual typesetting of the symbol.
The ⟨PDF⟩ part is simply:
-
-
+
which is defined to just do \glsentrysymbol{⟨label⟩symbol\glsentrypdfsymbol to use a more appropriate field. (If you do redefine this
command, remember that it needs to fully expand.)
-
For example, if you are using For example, if you are using glossaries-accsupp, you could use the symbolaccess
\renewcommand{\glsentrypdfsymbol}[1]{\glsentrysymbolaccess{#1}}
- Alternatively, if you are using Alternatively, if you are using bib2gls you can use the TeX parser library to
+class="cmtt-10">bib2gls
you can use the TeX parser library to
interpret a copy of the symbol field and use that. For example, with the resource
@@ -6214,10 +6271,10 @@ options:
- replicate-fields={symbol=user1},
-
interpret-fields={user1}
+ replicate-fields={symbol=user1},
+
interpret-fields={user1}
- This stores the interpreted value of the symbol in the This stores the interpreted value of the symbol in the user1 field, so you can then
do:
@@ -6228,21 +6285,21 @@ do:
\renewcommand{\glsentrypdfsymbol}[1]{\glsentryuseri{#1}}
- (You may need XƎLATEX or LuaLATEX with this method.) This allows
+
(You may need XƎLATEX or LuaLATEX with this method.) This allows
\glossentrysymbol to be used in a section heading with standalone definitions.
-
If you want to adapt a style to use another field instead of If you want to adapt a style to use another field instead of name, you can
use
-
-
+
This behaves just like \glossentryname (that is, it obeys description). See the key to field mappings table in the glossaries user
manual.
-
There is a hook after There is a hook after \glossentryname and \Glossentryname:
-
-
+
By default this checks the indexname attribute. If the attribute exists for the
category to which the label belongs, then the name is automatically indexed
using
-
-
+
See §8 Auto-Indexing for further details.
-
As from version 1.04, the post-name hook As from version 1.04, the post-name hook \glsxtrpostnamehook will also use
\glsxtrpostname⟨
\newcommand*{\glsxtrpostnamesymbol}{\space
-
(\glsentrysymbol{\glscurrententrylabel})}
+
(\glsentrysymbol{\glscurrententrylabel})}
- For convenience, as from v1.31, you can use
-
For convenience, as from v1.31, you can use
+
-
+
This is simply a shortcut for:
definition⟩}
Note that it doesn’t check if the command has already been defined.
- As from version 1.25, the post-name hook also does
-
As from version 1.25, the post-name hook also does
+
-
+
(before \glsxtrpostname⟨category⟩) to allow for additional non-category related code.
This does nothing by default.
-
The post-description code used within the glossary is modified so that it also
+
The post-description code used within the glossary is modified so that it also
does
-
-
+
This occurs before the original \glspostdescription, so if the nopostdot=false
option is used, it will be inserted before the terminating full stop.
-
This new command will do This new command will do \glsxtrpostdesc⟨category⟩ if it exists, where
⟨\glsxtrpostdescacronym for entries with the category set
class="cmss-10">acronym
. For
convenience, as from v1.31, you can use
-
-
+
This is simply a shortcut for:
definition⟩}
Note that it doesn’t check if the command has already been defined.
- Since both Since both \glossentry and \subglossentry set
-
-
+
to the label for the current entry, you can use this within the definition of these
post-description hooks if you need to reference the label.
-
For example, suppose you want to insert the plural form in brackets after the
+
For example, suppose you want to insert the plural form in brackets after the
description in the glossary, but only for entries in the general category, then you could
@@ -6417,12 +6474,12 @@ do:
\renewcommand{\glsxtrpostdescgeneral}{\space
-
(plural: \glsentryplural{\glscurrententrylabel})}
+
(plural: \glsentryplural{\glscurrententrylabel})}
- This means you don’t have to define a custom glossary style, which you may find
+
This means you don’t have to define a custom glossary style, which you may find
more complicated. (It also allows more flexibility if you decide to change the
underlying glossary style.)
-
This feature can’t be used for glossary styles that ignore
This feature can’t be used for glossary styles that ignore \glspostdescription or if
you redefine \glspostdescription without including glossaries-extra-stylemods Package
-
+
+
Number List
-The The number list is now placed inside the argument of
-
-
+
This is internally used by \glossaryentrynumbers. The \glossaryentrynumbers so that it doesn’t display th
id="dx1-18004">number list, but it
still saves the number list in case it’s required.
-
If you want to suppress the
If you want to suppress the number list always use the nonumberlist option
instead of redefining \glossaryentrynumbers to do nothing.
-
-
For example, to change the font for the entire
+
For example, to change the font for the entire number list redefine
\GlsXtrFormatLocationList as appropriate. Don’t modify \glossaryentrynumbers.
-
Sometimes users like to insert “page” or “pages” in front of the Sometimes users like to insert “page” or “pages” in front of the number list. This
is quite fiddly to do with the base glossaries package, but glossaries-extra provides a
way of doing this. First you need to enable this option and specify the text to display
using:
-
-
+
where ⟨page⟩ is the text to display if the number list only contains a single location and
@@ -6503,27 +6560,27 @@ class="cmti-10">pages⟩ is the text to display otherwise. For examp
-\GlsXtrEnablePreLocationTag{Page: }{Pages: }
+\GlsXtrEnablePreLocationTag{Page: }{Pages: }
- An extra run is required when using this command.
-
Use An extra run is required when using this command.
+
Use glsignore not @gobble as the format if you want to suppress the page
number (and only index the entry once).
-
-
See the accompanying sample file
+
See the accompanying sample file sample-pages.tex.
-
Note that Note that bib2gls can be instructed to insert a prefix at the start of non-empty
location lists, which can be used as an alternative to \GlsXtrEnablePreLocationTag.
-
Location lists displayed with \printnoidxglossary internally use
-
-
+
This command is provided by glossaries, but is modified by glossaries-extra to check
@@ -6543,42 +6600,42 @@ class="cmtt-10">( and ) which are discarded to
obtain the actual control sequence name that forms the location formatting
command.
-
If the range identifiers aren’t present, this just uses
-
If the range identifiers aren’t present, this just uses
+
-
+
otherwise it uses
-
-
+
for the start of a range (where the identifier has been stripped from ⟨format⟩)
or
-
-
+
for the end of a range (where the identifier has been stripped from ⟨format⟩).
-
By default the start range command saves the format in
-
By default the start range command saves the format in
+
-
+
and does
\glsxtrdisplaysingleloc{⟨}
(If the format is empty, it will be replaced with glsnumberformat.)
-
The end command checks that the format matches the start of the range,
+
The end command checks that the format matches the start of the range,
does
-
- doesn’t display any differently from
+
doesn’t display any differently from
@@ -6632,14 +6689,14 @@ class="cmtt-10">\glsxtrlocrangefmt to empty.
\glsnoidxdisplayloc{}{page}{textbf}{1},
\glsnoidxdisplayloc{}{page}{textbf}{1}.
- but it does make it easier to define your own custom list handler that can
+
but it does make it easier to define your own custom list handler that can
accommodate the ranges.
-
+
The glossaries-extra-stylemods Package
-As from v1.02, As from v1.02, glossaries-extra now includes the package glossaries-extra-stylemods that
@@ -6656,7 +6713,7 @@ class="cmss-10">glossaries-extra
. For example:
\usepackage{glossary-longragged}
\usepackage{glossaries-extra-stylemods}
- Alternatively you can load Alternatively you can load glossary-⟨name⟩.sty at the same time by passing ⟨glossaries-extra-stylemods\usepackage[longragged]{glossaries-extra-stylemods}
- Another option is to use the Another option is to use the stylemods key when you load long3col
\usepackage[style=long3col,stylemods]{glossaries-extra}
- Or the value of Or the value of stylemods may be a comma-separated list of the style package
@@ -6701,7 +6758,7 @@ identifiers. For example:
\usepackage[style=mcoltree,stylemods=mcols]{glossaries-extra}
- Remember to group the value if it contains any commas:
+
Remember to group the value if it contains any commas:
@@ -6709,8 +6766,8 @@ identifiers. For example:
\usepackage[stylemods={mcols,longbooktabs}]{glossaries-extra}
-
-
Note that the
+
Note that the inline style is dealt with slightly differently. The original definition
provided by the nopostdot
option, but the post-description
category hook can still be used.
-
The The tabular-like styles, such as \printglossary, \printnoidxglossary or \printunsrtglossary, you must also
reset the glossary style.
-
As from version 1.21, the hard-coded As from version 1.21, the hard-coded \space before the number list in many of
the predefined styles is replaced with
-
-
+
This just defaults to \space but may be redefined as required. For example:
@@ -6780,30 +6837,30 @@ class="cmtt-10">\space but may be redefined as required. For example:
\renewcommand{\glsxtrprelocation}{\dotfill}
-
-
The
+
-
+
(which defaults to \glsxtrprelocation) for top-level items and
-
-
+
(which defaults to \glslistprelocation) for child items.
-
As from v1.31, the description (including the post-description hook) is governed
+
As from v1.31, the description (including the post-description hook) is governed
by:
-
-
+
for the list and altlist styles (but not the listdotted variations).
-
For just the For just the list style and its letter group variations (not the altlistlistdotted
number list for child entries is followed by
-
-
+
which defaults to a full stop.
-
The default value of The default value of \glslistdottedwidth is changed so that it’s set at the start
of the document (if it hasn’t been changed in the preamble). This should
take into account situations where \hsize isn’t set until the start of the
document.
-
The separator between groups (if not The separator between groups (if not nogroupskip) is now given by:
-
-
+
This defaults to \indexspace with penalties to deter page breaks. This command
isn’t used if nogroupskip is set.
-
The The glossary-tree package introduced new commands in v4.22, \glstreegroupheaderfmt\glstreenamefmt
has been defined, as from v1.31 glossaries-extra-stylemods
defines:
-
-
+
which simply does \textbf{⟨text⟩\glstreegroupheaderfmt and \glstreenavigationfmt all in terms of
\glstreedefaultnamefmt.
-
This means that if you want to change all three to use a particular style you only
+
This means that if you want to change all three to use a particular style you only
need to redefine \glstreedefaultnamefmt, but if you only want to redefine
\glstreenamefmt without affecting the other two commands, then you now
can.
-
The separator between groups without headers is given by:
-
The separator between groups without headers is given by:
+
-
+
This defaults to just \indexspace without penalties. This command isn’t
@@ -6910,24 +6967,24 @@ class="cmss-10">nogroupskip
\glstreeheadergroupskip in v1.42 as they are inappropriate when there’s no
header.)
- The separator between groups with headers is now given by (as from
+
The separator between groups with headers is now given by (as from
v1.42):
-
-
+
This defaults to \glstreegroupskip with penalties to deter page breaks after the
group heading.
-
The styles that display the group titles now use:
-
The styles that display the group titles now use:
+
-
+
where ⟨label⟩ is the group label and ⟨title⟩ is the group title. This does nothing by
@@ -6941,61 +6998,61 @@ then:
\renewcommand{\glstreePreHeader}[2]{%
-
\pdfbookmark[1]{#2}{\currentglossary.#1}%
+
\pdfbookmark[1]{#2}{\currentglossary.#1}%
}
- will insert section-level bookmarks. The use of will insert section-level bookmarks. The use of \currentglossary helps to provide
unique bookmark labels in the event of multiple glossaries.
-
The The index-like and tree-like styles insert the pre-number list space with
-
-
+
(which defaults to \glsxtrprelocation) for top-level items and
-
-
+
(which defaults to \glstreeprelocation) for child items.
-
As from version 1.31, the As from version 1.31, the glossaries-extra-stylemods package also provides:
-
-
+
which is used by the treenoname styles to display the pre-description separator, the
description and the post-description hook. Similarly for the symbol:
-
-
+
The above are just used for top-level entries. Child entries don’t have the name or
symbol displayed for the treenoname styles, so there’s only a command for the child
description:
-
-
-
For the
+
For the tree styles (but not the treenonametreenoname
alttree styles), the description is
displayed using:
-
-
+
and the symbol with:
-
-
+
Again the above two commands are just for top-level entries. The child entries
use:
-
-
+
for the description and
-
-
+
for the symbol. As from version 1.41, there are now wrapper commands
for \glstreedesc and \glstreechilddesc that check for the description
and symbol to determine what separator to use before the page list. These
are:
-
-
+
for top-level entries and
-
-
+
for sub-entries.
-
If either the symbol or description is present these will use If either the symbol or description is present these will use \glstreeprelocation
or \glstreechildprelocation, respectively. Otherwise, both will use (from
v1.42):
-
-
+
The default is a space. This means that you could have, say, a comma followed by a
space for terms that are simply an alias, but just have a space for terms that have a
description that ends with a full stop (or that just have a symbol without a
description) where the comma would be inappropriate.
-
Note that version 1.42 has corrected an error that was introduced to v1.41 that
+
Note that version 1.42 has corrected an error that was introduced to v1.41 that
caused the name to run into the location list if there was no symbol and no
description.
-
As from version 1.05, the As from version 1.05, the glossaries-extra-stylemods package provides some
additional commands for use with the alttreenotree
option has been used when loading
glossaries.
-
-
+
(New to version 1.21.) This is like \glssetwidest (provided by glossary-tree) but
performs a global assignment.
-
-
+
This is like \glssetwidest but performs a protected expansion on ⟨name⟩. This has a
localised effect. For a global setting, use
-
-
+
The following only set the value if ⟨name⟩ is wider than the current value (new to
version 1.23). Local update:
-
-
+
Global update:
-
-
+
Locale update (expands ⟨name⟩):
-
-
+
Global update (expands ⟨name⟩):
-
-
-
The widest entry value can later be retrieved using
-
+
The widest entry value can later be retrieved using
+
-
+
for the top-level entries and
-
-
+
for sub-entries, where ⟨level⟩ is the level number.
-
Note that if you are using Note that if you are using bib2gls, you can use the resource option bib2gls
can’t replicate, but it should be suitable for names that just consist of text,
and can be more efficient than iterating over all the defined entries using
TeX.
-
The command The command \glsfindwidesttoplevelname provided by glossary-tree has a
CamelCase synonym:
-
-
+
Similar commands are also provided:
-
-
+
This has an additional check that the entry has been used. Naturally this is only
useful if the glossaries that use the alttreealttree
-
+
This is like the previous command but if doesn’t check the parent key. This is useful if
all levels should have the same width for the name.
-
-
+
This is like the previous command but doesn’t check if the entry has been
used.
-
-
+
This is like \glsFindWidestUsedTopLevelName but also sets the first two sub-levels
as well. Any entry that has a great-grandparent is ignored.
-
-
+
This is like the previous command but doesn’t check if the entry has been
used.
-
\glsFindWidestUsedAnyNameSymbol[⟨glossary list⟩}
-
+
This is like \glsFindWidestUsedAnyName but also measures the symbol. The length
of the widest symbol is stored in ⟨register⟩.
-
-
+
This is like the previous command but it doesn’t check if the entry has been
used.
-
-
+
This is like \glsFindWidestUsedAnyNameSymbol but also measures the symbol register⟩ and the length of the widest number
list is stored in ⟨location register⟩.
-
-
+
This is like the previous command but it doesn’t check if the entry has been
used.
-
-
+
This is like \glsFindWidestUsedAnyNameSymbolLocation but doesn’t measure the
symbol. The length of the widest number list is stored in ⟨register⟩.
-
-
+
This is like the previous command but doesn’t check if the entry has been
used.
-
The layout of the symbol, description and The layout of the symbol, description and number list is governed by
-
-
+
for top-level entries and
-
-
+
for sub-entries.
-
There is now a user level command that performs the initialisation for the There is now a user level command that performs the initialisation for the alttree
style:
-
-
-
The paragraph indent for subsequent paragraphs in multi-paragraph descriptions
+
+
The paragraph indent for subsequent paragraphs in multi-paragraph descriptions
is provided by the length
-
-
+
3. New Glossary Styles
- The The glossaries-extra package comes with some new styles. The associated style
package needs to be loaded. This can be done with \usepackage but it’s simpler to
@@ -7403,11 +7460,11 @@ href="#styopt.stylemods">stylemods option.
-3.1 glossary-bookindex package
-As from v1.21, As from v1.21, glossaries-extra has a new supplementary package glossary-bookindex
@@ -7428,7 +7485,7 @@ style:
\usepackage{glossary-bookindex}
\setglossarystyle{bookindex}
- or use both the or use both the stylemods and style
\usepackage[stylemods=bookindex,style=bookindex]{glossaries-extra}
- The The bookindex style only supports a maximum hierarchical level of 2 (top-level,
level 1 and level 2). It’s primarily designed for use with record package
option.)
-
The number of columns is given by
-
The number of columns is given by
+
-
+
which defaults to 2.
-
This style uses the This style uses the multicols environment. If the command
-
-
+
isn’t empty then it’s supplied as the optional argument following \begin{multicols}
multicolsmulticols* by redefining
-
-
+
For example
@@ -7497,14 +7554,14 @@ For example
\renewcommand{\glsxtrbookindexmulticolsenv}{multicols*}
-
-
Each top-level entry is displayed using
-
+
Each top-level entry is displayed using
+
-
+
where the entry is identified by ⟨label⟩. This just does \glossentryname{⟨
\renewcommand*{\glsxtrbookindexname}[1]{%
-
\glossentryname{#1}%
-
\ifglshassymbol{#1}{\space (\glossentrysymbol{#1})}{}%
+
\glossentryname{#1}%
+
\ifglshassymbol{#1}{\space (\glossentrysymbol{#1})}{}%
}
- or if you want the description (if set):
+
or if you want the description (if set):
\renewcommand*{\glsxtrbookindexname}[1]{%
-
\glossentryname{#1}%
-
\ifglshasdesc{#1}{\space \glossentrydesc{#1}\glspostdescription}{}%
+
\glossentryname{#1}%
+
\ifglshasdesc{#1}{\space \glossentrydesc{#1}\glspostdescription}{}%
}
- (which picks up the post-description hook).
-
Alternatively you can use the (which picks up the post-description hook).
+
Alternatively you can use the \glsxtrpostname⟨category⟩ hook to append
information after the name according to the entry’s category.
-
Sub-entries are displayed using
-
Sub-entries are displayed using
+
-
+
which just defaults to \glsxtrbookindexname{⟨label⟩}.
-
The separator used before the location list for top-level entries is given
+
The separator used before the location list for top-level entries is given
by
-
-
+
where ⟨label⟩ is the entry’s label. This checks if the location field has been set. If it
@@ -7567,7 +7624,7 @@ has, it does
,\glsxtrprelocation
- otherwise it just does otherwise it just does \glsxtrprelocation (which defaults to \space). If you’re not
using bib2gls, the location field won’t be set.
-
The separator used before the location list for sub-entries is given by
-
The separator used before the location list for sub-entries is given by
+
-
+
which defaults to \glsxtrbookindexprelocation{⟨label⟩}.
-
The actual location list is encapsulated with:
-
The actual location list is encapsulated with:
+
-
+
for top-level entries and
-
-
+
for sub-entries. These both just do ⟨location list⟩ by default.
-
The separator used between a top-level parent and child entry is given
+
The separator used between a top-level parent and child entry is given
by
-
-
+
This defaults to \nopagebreak.
-
The separator used between a sub-level parent and child entry is given
+
The separator used between a sub-level parent and child entry is given
by
-
-
+
This defaults to \glsxtrbookindexparentchildsep.
-
The separator between top-level entries is given by
-
The separator between top-level entries is given by
+
-
+
This comes after the entry given by ⟨label1⟩, if the entry has no children, or after the
last descendent otherwise, so it always comes immediately before the entry given by
⟨label2⟩ unless the entry occurs at the start of a group. This does nothing by
default.
-
The separator between two level 1 entries is given by
-
The separator between two level 1 entries is given by
+
-
-
The separator between two level 2 entries is given by
-
+
The separator between two level 2 entries is given by
+
-
+
At the end of each letter group, the following hooks are done in order:
-
-
-
+
-
-
+
-
+
where ⟨sub-sub-label⟩ is the label of the last level 2 entry, ⟨sub-label⟩ is the label of the
last level 1 entry and ⟨label⟩ is the label of the last level 0 entry.
-
For example, the resource option For example, the resource option seealso=omit instructs
\renewcommand{\glsxtrbookindexatendgroup}[1]{%
-
\glsxtrifhasfield{seealso}{#1}{\glstreesubitem\glsxtruseseealso{#1}}{}%
+
\glsxtrifhasfield{seealso}{#1}{\glstreesubitem\glsxtruseseealso{#1}}{}%
}
\renewcommand{\glsxtrbookindexbetween}[2]{%
-
\glsxtrbookindexatendgroup{#1}%
+
\glsxtrbookindexatendgroup{#1}%
}%
\renewcommand{\glsxtrbookindexsubatendgroup}[1]{%
-
\glsxtrifhasfield{seealso}{#1}{\glstreesubsubitem\glsxtruseseealso{#1}}{}%
+
\glsxtrifhasfield{seealso}{#1}{\glstreesubsubitem\glsxtruseseealso{#1}}{}%
}
\renewcommand{\glsxtrbookindexsubbetween}[2]{%
-
\glsxtrbookindexsubatendgroup{#1}%
+
\glsxtrbookindexsubatendgroup{#1}%
}
\renewcommand{\glsxtrbookindexsubsubatendgroup}[1]{%
-
\glsxtrifhasfield{seealso}{#1}%
-
{\glstreeitem\hspace*{40pt}\glsxtruseseealso{#1}}{}%
+
\glsxtrifhasfield{seealso}{#1}%
+
{\glstreeitem\hspace*{40pt}\glsxtruseseealso{#1}}{}%
}
\renewcommand{\glsxtrbookindexsubsubbetween}[2]{%
-
\glsxtrbookindexsubsubatendgroup{#1}%
+
\glsxtrbookindexsubsubatendgroup{#1}%
}
- This uses This uses \glstreesubitem and \glstreesubsubitem to indent the cross-reference
according to the next level down, so the cross-reference for a top-level entry is aligned
@@ -7730,7 +7787,7 @@ indented a bit further (but it won’t be aligned with any deeper level as t
class="cmss-10">bookindex
style only supports a maximum of two sub-levels).
-
The The bookindex style uses group headings. (If you use bib2gls
remember to invoke
it with the --group or -g switch.) The heading will use
-
-
+
If \pdfbookmark has been defined, this will use that command to bookmark the
group title. If \pdfbookmark hasn’t been defined, this command does
nothin.
-
The group heading is formatted according to
-
The group heading is formatted according to
+
-
+
which is defined as
@@ -7772,17 +7829,17 @@ which is defined as
\newcommand*{\glsxtrbookindexformatheader}[1]{%
-
\par{\centering\glstreegroupheaderfmt{#1}\par}%
+
\par{\centering\glstreegroupheaderfmt{#1}\par}%
}
- where where \glstreegroupheaderfmt is provided by the glossary-tree package, which is
automatically loaded. Note that the entry names aren’t encapsulated with
\glstreenamefmt.
-
The The glossary-bookindex package provides some supplementary commands that
aren’t used by default, but may be used when adjusting the style. These commands
@@ -7790,43 +7847,43 @@ should only be used within one of the \print…glossary commands. (That is, they
should only be used in glossary styles.)
-
-
+
This writes information to the .aux file that can be read on the next run to obtain
the first and last entry on each page of the glossary.
-
You can display the first entry associated with the current page using:
-
You can display the first entry associated with the current page using:
+
-
+
and the last entry associated with the current page using:
-
-
+
These do nothing if there are no entries marked on the current page (or if the
document build isn’t up to date).
-
The entry is formatted using:
-
The entry is formatted using:
+
-
+
for the first instance and
-
-
+
for the last.
-
These commands are designed for use in page headers or footers where the page
+
These commands are designed for use in page headers or footers where the page
number is stable. For example, \glsxtrbookindexname can be redefined to mark the
current entry:
@@ -7836,11 +7893,11 @@ current entry:
\renewcommand{\glsxtrbookindexname}[1]{%
-
\glsxtrbookindexmarkentry{#1}%
-
\glossentryname{#1}%
+
\glsxtrbookindexmarkentry{#1}%
+
\glossentryname{#1}%
}
- If you only want to mark the top-level entries, remember to redefine
+
If you only want to mark the top-level entries, remember to redefine
\glsxtrbookindexsubname as it defaults to \glsxtrbookindexname:
@@ -7850,11 +7907,11 @@ class="cmtt-10">\glsxtrbookindexname:
\renewcommand{\glsxtrbookindexsubname}[1]{%
-
\glossentryname{#1}%
+
\glossentryname{#1}%
}
-
-
Then if you’re using
+
Then if you’re using fancyhdr you can set the page style to show the first and last
entry for the current page with:
@@ -7863,20 +7920,20 @@ entry for the current page with:
- \pagestyle{fancy}%
-
\lhead{\thepage}%
-
\lfoot{\glsxtrbookindexfirstmark}%
-
\cfoot{}%
-
\rfoot{\glsxtrbookindexlastmark}%
+ \pagestyle{fancy}%
+
\lhead{\thepage}%
+
\lfoot{\glsxtrbookindexfirstmark}%
+
\cfoot{}%
+
\rfoot{\glsxtrbookindexlastmark}%
-
-
+
+
-3.2 glossary-longextra package
-As from version 1.37, the As from version 1.37, the glossaries-extra package comes with the supplementary
package glossary-longextratabular
instead. In order to do this you must
use
-
- or
+
or
@@ -7917,52 +7974,52 @@ class="cmti-10">before the style is set
. For example:
\GlsLongExtraUseTabulartrue
\printunsrtglossary[style={long-name-desc}]
- If you use this setting, you can change the default vertical alignment with:
-
If you use this setting, you can change the default vertical alignment with:
+
-
+
The default definition is c.
-
The column titles are formatted according to:
-