summaryrefslogtreecommitdiff
path: root/macros
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2022-04-04 03:14:42 +0000
committerNorbert Preining <norbert@preining.info>2022-04-04 03:14:42 +0000
commit7548e4d37c2aaefd32fe0a9bcd83f8e71326dde1 (patch)
treed335b608e63e9b3c37d7ba0e567c63e77250e171 /macros
parent506de1e2d3515161cdbc7018b4ccc9e49d7f86e8 (diff)
CTAN sync 202204040314
Diffstat (limited to 'macros')
-rw-r--r--macros/latex/contrib/babel-contrib/italian/README.txt9
-rw-r--r--macros/latex/contrib/babel-contrib/italian/italian.dtx449
-rw-r--r--macros/latex/contrib/babel-contrib/italian/italian.pdfbin446180 -> 471835 bytes
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/README.md59
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/biblatex-gb7714-2015.pdfbin1659727 -> 1660029 bytes
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015.bbx6
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015ay.bbx6
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015ms.bbx6
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015mx.bbx6
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-CCNU.bbx97
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-NWAFU.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-SEU.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/makeall.py2
13 files changed, 431 insertions, 213 deletions
diff --git a/macros/latex/contrib/babel-contrib/italian/README.txt b/macros/latex/contrib/babel-contrib/italian/README.txt
index 1d7ea33902..9537d10159 100644
--- a/macros/latex/contrib/babel-contrib/italian/README.txt
+++ b/macros/latex/contrib/babel-contrib/italian/README.txt
@@ -1,16 +1,15 @@
-The italian.dtx file has version number 1.4.04 dated 2020-05-21.
+The italian.dtx file has version number 1.4.07 dated 2022-03-27.
It is and update of a series fo files starting with the first one in 1990
-Copyright (C) 1990-2020 Claudio Beccari
+Copyright (C) 1990-2022 Claudio Beccari
Maintainer Claudio Beccari
Contact: claudio dot beccari at gmail dot com
This bundle contains the source file italian.dtx and this README.txt file. By running pdfLaTeX on this italian.dtx file you obtain both the documentation italian.pdf and the language description file italian.ldf.
Description
-This file contain the necessary and supplementary data for typesetting documents in Italian with babel as the manager of the language management.
-It defines the infix words, the date in various formats. Optionally lets the user activate a number of shorthands to performe routine frequent tasks by means of the active character " that can be freely activated and deactivated.
+This file contain the necessary and supplementary data for typesetting documents in Italian with babel as the language manager.
+It defines the infix words, the date in various formats. Optionally lets the user activate a number of shorthands to perform routine frequent tasks by means of the active character " that can be freely activated and deactivated.
It defines an intelligent mathematical comma that recognises if it has to perform as a punctuation mark or as a decimal separator. Another user command activates or deactivates some commands to supply a minimum of the performance that is fully provided by the siunitx package. The file allows using babel also when a document is typeset with XeLaTeX or LuaLaTeX, even if, according to the author, polyglossia is preferred when typesetting documents in Italian, in spite of the fact that gloss-italian.ldf for polyglossia provides less facilities than the ones available with babel.
-Supposedly since version 1.4.03 this file should be usable also with babel+uplatex
The documentation that is provided by running LaTeX on the italian.dtx file provides full documentation of every facility provided by the italian.ldf file.
diff --git a/macros/latex/contrib/babel-contrib/italian/italian.dtx b/macros/latex/contrib/babel-contrib/italian/italian.dtx
index da0f09ab40..45ab2375c8 100644
--- a/macros/latex/contrib/babel-contrib/italian/italian.dtx
+++ b/macros/latex/contrib/babel-contrib/italian/italian.dtx
@@ -10,14 +10,14 @@
\preamble
------------------------------------------
The Italian support for babel: italian.ldf.
-Copyright (C) 1990-2020 Claudio Beccari
+Copyright (C) 1990-2022 Claudio Beccari
All rights reserved
License information appended.
\endpreamble
\postamble
-Copyright (C) 1990-2019 Claudio Beccari
+Copyright (C) 1990-2022 Claudio Beccari
It may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either version 1.3c
@@ -60,7 +60,7 @@ This file is a self unpacking one.
%</driver>
%<code>\ProvidesLanguage{italian}
%<*code>
- [2020/05/21 v.1.4.04 Italian support for the babel system]
+ [2022/03/27 v.1.4.07 Italian support for the babel system]
%</code>
%%
%% Please report errors to: claudio dot beccari at gmail dot com
@@ -78,7 +78,7 @@ This file is a self unpacking one.
\title{The Italian support for babel}
\date{\fileversion\space--- \filedate}
\author{\makebox[\textwidth]{Claudio Beccari ---
-mail: \texttt{claudio dot beccari at gmail dot com}}}
+email: \texttt{claudio dot beccari at gmail dot com}}}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{booktabs}
@@ -99,7 +99,7 @@ mail: \texttt{claudio dot beccari at gmail dot com}}}
%</driver>
%\fi
%
-% \CheckSum{772}
+% \CheckSum{798}
%
% \changes{italian-0.99}{1990/07/11}{First version, from english.doc}
% \changes{italian-1.0}{1991/04/23}{Modified for babel 3.0}
@@ -173,6 +173,13 @@ mail: \texttt{claudio dot beccari at gmail dot com}}}
% and the documentation modified accordingly.}
% \changes{italian-1.4.04}{2020-05-21}{Added option for ordinal day~1 in
% \string\dateitalian.}
+% \changes{italian-1.4.05}{2022-03-18}{Modified the intelligent comma code
+% in order to deal also with periodic fractional parts}
+% \changes{italian-1.4.06}{2022-03-23}{Eliminated several macros in the
+% intelligent comma definition that made the whole group difficult to
+% understand and maintain.}
+% \changes{italian-1.4.07}{2022-03-27}{Added the necessary code to have
+% the intelligent comma work correctly with the |{,}| group}
%
% \section{The Italian language}
% \textbf{Important notice}: This language description file relies on
@@ -322,7 +329,7 @@ mail: \texttt{claudio dot beccari at gmail dot com}}}
% provided by both those packages; but I assume that
% if the user loads one of those packages, it prefers to use their
% functionality; in case one of those packages is loaded, this module
-% excludes its intelligent comma functionality.
+% excludes its own intelligent comma functionality.
% By default this functionality is turned \emph{off}, therefore the
% user should turn it on by means of the |\IntelligentComma| command;
% it can turn it off by means of |\NoIntelligentComma|. Please, read
@@ -868,8 +875,8 @@ mail: \texttt{claudio dot beccari at gmail dot com}}}
% \texttt{kilo\string"\string|\"orsted} gets hyphenated correctly
% as \texttt{ki-lo-\"or-sted} The \verb="|= macro is necessary
% because, even with a suitable option specified to the |inputenc|
-% package, the letter `\"o' does not have category code 11, as the ASCII
-% letters do, because of the LICR (LaTeX Internal Character
+% package, the letter `\"o' does not have category code 11, as the
+% ASCII letters do, because of the LICR (LaTeX Internal Character
% Representation), i.e. the set of intermediate macros that have to be
% expanded in order to fetch the proper glyph in the output font.
%
@@ -969,14 +976,15 @@ mail: \texttt{claudio dot beccari at gmail dot com}}}
%
% We need to perform some tests that require some
% smart control-sequence handling; therefore we call the |etoolbox|
-% package that allows us more testing functionality. There are no problems
-% with this package that can be invoked also by other ones before or
-% after |babel| is called; the |\RequirePackage| mechanism is sufficiently
-% smart to avoid reloading the same package more than once. But we
-% have to delay this call, because |italian.ldf| is being read while
-% processing the options passed to |babel|, and while options are being
-% scanned and processed it is forbidden to load packages; we
-% delay it at the end of processing the |babel| package itself.
+% package that allows us more testing functionality. There are no
+% problems with this package that can be invoked also by other ones
+% before or after |babel| is called; the |\RequirePackage| mechanism is
+% sufficiently smart to avoid reloading the same package more than
+% once. But we have to delay this call, because |italian.ldf| is being
+% read while processing the options passed to |babel|, and while
+% options are being scanned and processed it is forbidden to load
+% packages; we delay it at the end of processing the |babel| package
+% itself.
% \begin{macrocode}
\AtEndOfPackage{\RequirePackage{etoolbox}}
% \end{macrocode}
@@ -989,16 +997,17 @@ mail: \texttt{claudio dot beccari at gmail dot com}}}
% commands |\IntelligentComma| and |\NoIntelligentComma|. They operate
% by setting or resetting the comma sign as an active character in
% mathematics. We defer the definition of the commands that turn on and
-% off the intelligent comma feature at the end of the preamble, so as to
-% avoid possible conflicts with other packages. It has already been
+% off the intelligent comma feature at the end of the preamble, so as
+% to avoid possible conflicts with other packages. It has already been
% pointed out that this procedure for setting up the active comma to
% behave intelligently in math mode, conflicts with the |dcolumn|
-% package; therefore we assume these commands are defined when the final
-% user typesets a document, but they will be possibly defined only at
-% the end of the preamble when it will be known if the |dcolumn| package
-% has been loaded. We do the same if packages |icomma| or |ncccomma|
-% have been loaded, since that assumes that the user wants to use their
-% functionality, not the functionality of this package.
+% package; therefore we assume these commands are defined when the
+% final user typesets a document, but they will be possibly defined
+% only at the end of the preamble when it will be known if the
+% |dcolumn| package has been loaded. We do the same if packages
+% |icomma| or |ncccomma| have been loaded, since that assumes that the
+% user wants to use their functionality, not the functionality of this
+% package.
%
% We need a command to set the comma as an active charter only in math
% mode; the special |\mathcode| that classifies an active character in
@@ -1006,8 +1015,8 @@ mail: \texttt{claudio dot beccari at gmail dot com}}}
% punctuation type of comma, but we let |\IntelligentComma| and
% |\NoIntelligentComma| to |\relax| so that their use is forbidden when
% one of the named packages is loaded. In this way all known conflicts
-% are avoided; should the user find out other conflicts, s/he is kindly
-% required to notify it to the maintainer.
+% are avoided; should the users find out other conflicts, they are
+% kindly required to notify them to the maintainer.
% \begin{macrocode}
\AtEndOfPackage{\AtEndPreamble{%
\newcommand*\IntelligentComma{\mathcode`\,=\string"8000}% Active comma
@@ -1028,9 +1037,9 @@ mail: \texttt{claudio dot beccari at gmail dot com}}}
}}}%
}}
% \end{macrocode}
-% These commands are defined only in the |babel| support for the Italian
-% language (this file) and are not defined in the corresponding
-% |polyglossia| support for the language.
+% These commands are defined only in the |babel| support for the
+% Italian language (this file) and are not defined in the
+% corresponding |polyglossia| support for the language.
% In order to have this functionality work properly with pdfLaTeX,
% XeLaTeX, and LuaLaTeX, it is necessary to discover which engine
% is being used, or better, which language handling package is
@@ -1047,8 +1056,8 @@ mail: \texttt{claudio dot beccari at gmail dot com}}}
% We need two kinds of comma, one that is a decimal separator, and
% a second one that is a punctuation mark.
% \begin{macrocode}
- \DeclareMathSymbol{\virgola}{\mathpunct}{letters}{"3B}
\DeclareMathSymbol{\virgoladecimale}{\mathord}{letters}{"3B}
+ \DeclareMathSymbol{\virgola}{\mathpunct}{letters}{"3B}
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -1059,32 +1068,34 @@ mail: \texttt{claudio dot beccari at gmail dot com}}}
% Math comma activation is done only after the preamble has been
% completed, that is after the |\begin{document}| statement has been
% completely executed. Now we must give a definition to the active
-% comma: probably it is not necessary to pass through an intermediate
-% robust command, but certainly it is not wrong to do it.
+% comma.
% \begin{macrocode}
-\DeclareRobustCommand*\it@comma@def{\futurelet\let@token\@@math@comma}%
-{\catcode `,=\active \gdef,{\it@comma@def}}%
+{\catcode`,\active \gdef,{\futurelet\tempB\?}}
% \end{macrocode}
-% The real work shall be performed by |\it@comma@def|. In facts the
-% above macro stores the token that immediately follows |\@@math@comma|
-% into a temporary control sequence that behaves as an implicit
-% character if that token is a single character, even a space, or
-% behaves as an alias of a control sequence otherwise. Actually at the
-% end of the preamble this macro shall be |\let| to be an alias for the
-% real |\@math@comma|.
-%
-% Is is important to remark that |\@math@comma| must be a command that
+% In facts the above macro lets a temporary control sequence |\tempB|
+% be an alias of the token that immediately follows |\?|; |\tempB| then
+% behaves as an implicit character if that token is a single character,
+% even a space (category cod~10) or a closed brace {category code~3},
+% or an alias of a generic control sequence otherwise.
+%
+% Is is important to remark that |\?| must be a command that
% does not require arguments; this makes it robust when it is followed
-% by other characters that may play special r\^oles within the arguments
-% of other macros or environments. Matter of fact the first version
-% of this file in version 1.3 did accept an argument; and the result was
-% that the active comma would ``eat up'' the |&| in vertical math
+% by other tokens that may play special r\^oles within the
+% arguments of other macros or environments. Matter of fact the first
+% version 1.3 of this file did accept an argument; and the result was
+% that the active comma would ``gobble'' the |&| in vertical math
% alignments and very nasty errors took place, especially within the
-% |amsmath| defined ones. This macro |\@@math@comma| without arguments
-% does not do any harm to the AMS environments and the actual
-% intelligent comma work shall be executed by other macros.
+% |amsmath| defined ones. This macro |\?| without arguments
+% does not do any harm to the AMS environments and a part of the actual
+% intelligent comma work is going to be executed by other macros that
+% accept an argument in a safe way.
%
-% At this point the situation may become complicated: the comma
+% Since the intelligent comma is going to be used only in math mode,
+% it must be intelligent enough to avoid problems with commands used
+% in math mode; in particular with commands that operate on digits,
+% such as |\bar| and |\overline|
+%
+% At this point the situation may become complicated: the comma
% character in the input file may be followed by a real digit, by an
% analphabetic character of category 12 (other character), by an
% implicit digit, by a macro defined to be a digit, by a macro that is
@@ -1092,135 +1103,212 @@ mail: \texttt{claudio dot beccari at gmail dot com}}}
% closed brace, an alignment command, et cetera); therefore it is
% necessary to distinguish all these situations; remember that an
% implicit digit cannot be used as a real digit, and a macro gets
-% expanded when used with any |\if| clause, unless it is a |\ifx| one,
-% or is prefixed with |noexpand|. The tests that are going to be made
-% are therefore of different kinds, according to this scheme:
-% \begin{itemize}
-% \item
-% the |\let@token| is tested against an asterisk to see it it is of
-% category 12; this is true if the token is a real digit, or an implicit
-% digit, or an analphabetic character;
+% expanded when used within any |\if| clause, except |\ifx|,
+% or is prefixed with |\noexpand|. The tests that are going to be made
+% hereafater are therefore of different kinds, according to this
+% scheme:
% \begin{itemize}
+% \item
+% we test if the next character is a space (category code~10) and chose
+% at once the puntuation comma;
+% \item
+% we test the the next character id a closed brace (category code~3)
+% and chose immediately the decimal comma, assuming we are in a
+% situation such as |$2,}619$|, just for backwards compatibility;
+% such wrapping of the decimal comma was common when no intelligent
+% comma macros or packages were available;
+% \item
+% we have to check if the next token is |bar| or |\overline| (or a
+% |\periodo|, a new command added by this language description file));
+% we assume that these commands are used to mark the digits of the
+% periodic component of the fractional part of a rational number.
+% May be this assumption is not always correct, but it should be the
+% most common situation when one of these commands is immediately
+% preceded by a comma.
% \item
-% an implicit digit is represented by a control sequence; so we
-% first check this feature;
+% the |\tempB| category is tested against an asterisk to see if
+% it is of category 12; this is true if the token is a real digit, or
+% an implicit digit, or an analphabetic character;
+% \begin{itemize}
+% \item
+% an implicit digit might be represented by a control sequence; so we
+% check this feature;
+% \item
+% if that |\tempB| is a control sequence, we have to test its
+% nature of a digit by testing if it represented one of the ten
+% digits; of course it is strongly discouraged to let some control
+% sequences be aliases of digits;
+% \item
+% in all other cases, as it has category code~12, it is an
+% analphabetic character.
+% \end{itemize}
% \item
-% if it is a control sequence, we have to test its nature of a
-% digit by testing if it represented one of the ten digits;
-% \item otherwise it is an analphabetic character.
-% \end{itemize}
-% \item
-% otherwise the |\let@token| is a special character or a
-% macro/command;
+% otherwise the |\tempB| is a special character or a command;
% \item
% a test is made to see if it is a macro; in this case we check
% if has been defined to be a digit,
% \item
-% it is not a macro, it must be some other kind of token for
-% example a space or another special character.
+% if it is not a macro, it must be some other kind of token for
+% example another special character.
% \end{itemize}
%
% Notice that if the token is a macro, we do not test if it is defined
-% to be a single digit or a string made up of more digits and/or other
-% charters. If the macro represents one digit the test is correct,
-% otherwise funny results may take place. For this reason it is always
-% better to prefix any macro with a space, whatever its definition might
-% be; if the macro represents a parameter defined to have a variable
-% value in the range 0--9, then it may represent the fractional part of
-% a (short) decimal value, and it is correct to avoid prefixing it with
-% a space; but the user is warned not to make use of numeric strings in
-% the definition of parameters, unless he knows what he is doing.
-% The user may rather use a balanced brace comma group |{,}| in the
-% input file so that the macro will not be considered by the expansion
-% of the active comma. For example if |\x| is defined to be the
-% numerical string |89|, the source input |$2{,}\x$| will be correctly
-% typeset as 2,89; the input \verb*!$2, \x$! will be typeset as 2,\,89
-% (with an unbreakable thin space after the comma) while |$2,\x$| will
-% be typeset as 29,89, obviously wrong.
-%
-% So first we test if the comma must act intelligently; if the counter
-% |\Virgola| contains zero, we assume that the comma must always perform
-% as a punctuation mark; but if we want to distinguish if it must behave
-% as a decimal separator, we have to perform more delicate tests; this
-% latter task is demanded to other macros with arguments |\@math@@comma|
-% and |\@@math@@comma|. In order to make the various tests robust we
-% have to resort to the usual trick of the auxiliary macros
-% |\@firstoftwo| and |\@secondoftwo| and various |\expandafter| commands
-% so as to be sure that every |\if| clause is correctly exited without
-% leaving any trace behind.
+% to be a single digit or a string made up of several digits and/or
+% other charters. If the macro represents one digit the test is
+% correct, otherwise funny results may take place. For this reason it
+% is always better to prefix any macro with a space, whatever its
+% definition might be; if the macro represents a parameter defined to
+% have a numeric value in the range 0--9, then it may represent the
+% fractional part of a (single digit) decimal value, and it is correct
+% to avoid prefixing it with a space; but the users are warned not to
+% make use of numeric strings in the definition of parameters, unless
+% they know exactly what they are doing.
+%
+% The users, if the intelligent comma is active, may use a
+% balanced brace comma group |{,}| but we discourage it for new
+% documents; in any case such a group works fine if the intelligent
+% comma is not active, for example because a stretch of text in a
+% different language is being typeset.
+%
+% So first we test if the comma must act intelligently; we have to
+% perform delicate tests; as a last resource this task is demanded to
+% another macro with arguments: |\@math@@comma|. In order to make the
+% various tests robust we have to resort to the usual trick of the
+% auxiliary macros |\@firstoftwo| and |\@secondoftwo| and various
+% |\expandafter| commands so as to be sure that each |\if| clause is
+% correctly exited without leaving any trace behind. Similarly the
+% |\ifcsequal| compares two control sequence names and compares the
+% equality of their meanings, just as as |\ifx| does, but they are
+% robust in the sense that they don't leave any trace after execution:
+% the third argument code is executed if the test is true, and the
+% fourth one if it is false.
+% Notice that the tests with macros |\periodo|, |\bar|, and|\overline|
+% are used to verify if the fractional part after the comma over lines
+% its periodic component; users are suggested to use the |\periodo|
+% macro that is capable of expanding its argument even if it is a macro
+% (that contains digits); for example the division by~7 yields periods
+% that contains the periodic sequence $142857$, starting with any digit
+% of this sequence: $1/7=0{,}\overline{142857}$,
+% $2/7=0{,}\overline{285714}$, $3/7=0{,}\overline{428571}$,\dots.
+% Users might define six macros with mnemonic names (for example,
+% |\oneoverseven|, |\twooverseven|,\dots) that contain the six digits
+% in the proper order, and use such macros instead of the digit
+% string, saving themselves possible typos; in math, everybody knows
+% that typos are not allowed.
+%
+% The |ifdigit| macros that is defined hereafter is a test made by
+% using a \LaTeX\ kernel internal procedure that compares it only
+% argument with one of the ten digits at a time; if the argument
+% is a digit choses the decimal comma, otherwise the punctuation one;
+% the test is similar but not identical to the one performed by the
+% |nccomma| package; on the opposite the test against s space is
+% performed with a test similar but not identical to the one done
+% by the |icomma| package; all other tests are specific of this
+% package.
% \begin{macrocode}
-\DeclareRobustCommand*\@math@comma{%
- \ifcat\noexpand\let@token*%
+
+\DeclareRobustCommand*\periodo[1]{\overline{#1}}
+
+\newcommand\ifdigit[1]{\def\tempC{\virgola}%
+\@tfor\@Cifra:=0123456789\do{%
+\if\@Cifra #1\relax\def\tempC{\virgoladecimale}%
+\@break@tfor\fi}\tempC}
+
+\DeclareRobustCommand*\?{%
+ \ifx\tempB\@sptoken
\expandafter\@firstoftwo
- \else
+ \else
\expandafter\@secondoftwo
- \fi{% \let@token is of category 12
- \@math@@comma
- }{% test if \let@token is a macro
- \ifcat\noexpand\let@token\noexpand\relax
- \expandafter\@firstoftwo
- \else
- \expandafter\@secondoftwo
- \fi{% it is a macro
- \@@math@@comma
- }{% it is something else.
- \virgola
- }
- }
+ \fi
+ {\virgola}%
+ {%
+ \ifcat\noexpand\tempB\noexpand\egroup
+ \expandafter\@firstoftwo
+ \else
+ \expandafter\@secondoftwo
+ \fi
+ {\virgoladecimale}%
+ {%
+ \ifcsequal{tempB}{periodo}{\virgoladecimale}%
+ {%
+ \ifcsequal{tempB}{bar}{\virgoladecimale}%
+ {%
+ \ifcsequal{tempB}{overline}{\virgoladecimale}%
+ {%
+ \ifcat\noexpand\tempB*%
+ \expandafter\@firstoftwo
+ \else
+ \expandafter\@secondoftwo
+ \fi
+ {% \tempB is of category 12; test if it is a digit
+ \ifdigit{\tempB}%
+ }%
+ {% test if tempB is a macro
+ \ifcat\noexpand\tempB\noexpand\relax
+ \expandafter\@firstoftwo
+ \else
+ \expandafter\@secondoftwo
+ \fi
+ {\virgola}% \tempB actually is a macro
+ {\@math@@comma}% \tempB is an alias of something else
+ }%
+ }%
+ }%
+ }%
+ }%
+ }%
}
+
% \end{macrocode}
-%
-% In particular this macro must test if the argument has category
-% code 12, that is ``other character'', not a letter, nor other
-% special signs, as |&| for example. In case the category code is
-% not 12, the comma must act as a punctuation mark; but if it is,
-% it might be a digit, or another character, an asterisk, for example;
-% so we have to test its digit nature; the simplest that was found
-% to test if a token is a digit, is to test its ASCII code against
-% the ASCII codes of `0' (zero) and `9'.
-% The typesetting engines give the backtick, |`|, the property that
+%
+% In particular this macro starts testing if it is an alias for a
+% space token (category 10); then tests if it is an alias
+% of |\periodo|, or |\bar| or |\overline| and if it is the decimal
+% separator should be a decimal comma (see below); otherwise other
+% tests are carried on. This macro then tests if the argument has
+% category code~12, that is ``other character'', not a letter, nor
+% other special signs, as, for example,~|&|. In case if the category
+% code is not~12, the comma must act as a punctuation mark; but if it
+% is, it might be a digit, or another character, for example an
+% asterisk; so we have to test its digit nature; the simplest way that
+% we found to test if a token is a digit, is to test if its ASCII code
+% lays within the range delimited by the ASCII codes of~`0' (zero)
+% and~`9'.
+%
+% The typesetting engines give the back tick, |`|, the property that
% when a number is required, it yields the ASCII code if the following
-% token in an explicit character or a macro argument; this is why we
-% can't use the temporary implicit token we just tested, but we must
-% examine the first non blank token that follows the |\@math@@comma|
-% macro. Only if the token is a digit, we use the decimal comma,
-% otherwise the punctuation mark. This is therefore the definition of
-% the |\@math@@comma| macro which is not that simple, although the
-% testing macros have clear meanings:
+% token is an explicit character or a macro argument number; this is
+% why we can't use the temporary implicit token we just tested, but we
+% must examine the first non blank token that follows the
+% |\@math@@comma| macro. Only if the token is a digit, we use the
+% decimal comma, otherwise the punctuation mark. This is therefore the
+% definition of the |\@math@@comma| macro which is not that simple,
+% although the testing macros have clear meanings:
% \begin{macrocode}
-\DeclareRobustCommand*\@math@@comma[1]{% argument is certainly of category 12
- \ifcsundef{\expandafter\@gobble\string #1}{% test if it is a real digit
- \ifnumless{`#1}{`0}{\virgola}%
- {\ifnumgreater{`#1}{`9}{\virgola}%
- {\virgoladecimale}}%
- }{% it's an implicit character of category 12
- \let\@tempVirgola\virgola
- \@tfor\@tempCifra:=0123456789\do{%
- \expandafter\if\@tempCifra#1\let\@tempVirgola\virgoladecimale
- \@break@tfor\fi}\@tempVirgola
- }#1}
-
-\DeclareRobustCommand*\@@math@@comma[1]{% argument is a macro
- \let\@tempVirgola\virgola
- \@tfor\@tempCifra:=0123456789\do{%
- \if\@tempCifra#1\let\@tempVirgola\virgoladecimale
- \@break@tfor\fi}\@tempVirgola#1
-}
+\DeclareRobustCommand*\@math@@comma[1]{% argument IS of category 12
+ \ifcsundef{\expandafter\@gobble\string #1}%
+ {% test if it is a digit
+ \ifnumless{`#1}{`0}{\virgola}%
+ {\ifnumgreater{`#1}{`9}{\virgola}%
+ {\virgoladecimale}}%
+ }%
+ {% it's an implicit character of category 12
+ \let\@tempVirgola\virgola
+ \@tfor\@tempCifra:=0123456789\do{%
+ \expandafter\if\@tempCifra#1\let\@tempVirgola\virgoladecimale
+ \@break@tfor\fi}\@tempVirgola
+ }#1}%
% \end{macrocode}
-% The service macros |\ifcsundef|, |\ifnumless|, and |\ifnumgreater| are
-% provided by the |etoolbox| package, that shall be read at most at the
-% end of the |babel| package processing; therefore we must delay the
-% code at ``end preamble'' time, since only at that time
+% The service macros |\ifcsundef|, |\ifnumless|, and |\ifnumgreater|
+% are provided by the |etoolbox| package, that shall be read at most at
+% the end of the |babel| package processing; therefore we must delay
+% the code at ``end preamble'' time, since only at that time
% it will be known if the main language is English, or any other one.
-% This is why we have to perform such a baroque definition as the
-% following one:
-% \begin{macrocode}
-\AtEndOfPackage{\AtEndPreamble{\let\@@math@comma\@math@comma}}
-% \end{macrocode}
+%
% This intelligent comma definition is pretty intelligent, but it
% requires some kind of information from the context; this context does
-% not give enough bits of information to this `intelligence' in just one
-% case: when the comma plays the r\^ole of a serial separator in
+% not give enough bits of information to this `intelligence' in just
+% one case: when the comma plays the r\^ole of a serial separator in
% expressions such as $i=1, 2, 3,\dots,\infty$, entered as
% \verb*?$i=1, 2, 3,\dots,\infty$?. Only in this case the comma must
% be followed by an explicit space; should this space be absent the
@@ -1231,9 +1319,9 @@ mail: \texttt{claudio dot beccari at gmail dot com}}}
% do not represent digits, the macro inserts a punctuation mark,
% instead of a decimal separator.
%
-% Notice that this macro may appear to be inconsistent with the contents
-% of a language description file. I don't agree: matter of facts even
-% math is part of typesetting a text in a certain language.
+% Notice that this macro may appear to be inconsistent with the
+% contents of a language description file. I don't agree: matter of
+% facts even math is part of typesetting a text in a certain language.
% Does this set of macros influence other language description files?
% May be, but I think that the clever use of macros |\IntelligentComma|
% and |\NoIntellingentComma| may solve any interference; they allow to
@@ -1246,27 +1334,40 @@ mail: \texttt{claudio dot beccari at gmail dot com}}}
% using the decimal comma as the correct decimal separator; for
% example |SIunitx| defines a command |\num| that not only correctly
% spaces the decimal separator, but also can change the input glyph
-% with another one, so that it is possible to copy and paste numbers
+% with another one, so that it is possible to copy numbers
% from texts in English (with the decimal point) and paste them
% into the argument of the |\num| macro in an Italian document where
% the decimal point is changed automatically into a decimal comma. Of
% course |SIunitx| does much more than that; if it's being loaded,
% then the default |\NoIntelligentComma| declaration disables the
% functionality defined in this language description file and the
-% user can do what he desires with the many functionalities of that
+% users can do what they desire with the many functionalities of that
% package.
%
-% Apparently a conflict with the active comma arises with the D column
-% defined by the |dcolomn| package. Disabling the “Italian” active comma
-% allows the D column operate correctly. Thanks to Giuseppe Toscano for
-% telling me about this conflict.
+% Apparently a conflict with the active comma arises with the~D column
+% defined by the |dcolomn| package. Disabling the “Italian” active
+% comma allows the~D column operate correctly. Thanks to Giuseppe
+% Toscano for telling me about this conflict.
% \end{macro}
% \end{macro}
%
+% \subsection*{Obsolete arrangements}
+% In the following sections we describe some features that nowadays
+% should be considered totally obsolete. We speak about OT! encoded
+% fonts (who uses them today?); about the limitations of the Italian
+% keyboard, that with modern operating systems may be overridden
+% easily; with French double quotes, that are being used also in
+% Italian, although without any space separating them from their
+% contents (as it happen in French typography); and so on. Consider
+% that this language description file initial versions are more than
+% 30 years old, and in these 30 plus years many legacy documents were
+% created; the following sections describe what had to be done years
+% ago and the information may be useful to upgrade those documents
+%
% \subsection*{Accents}\label{s:itkbd}
% Most of the other language description files introduce a number
% of shorthands for inserting accents and other language specific
-% diacritical marks in a more comfortable way compared with the
+% diacritical marks in a more comfortable way compared to the
% lengthy standard \TeX\ conventions. When an Italian keyboard is
% being used on a Windows based platform, it exhibits such
% limitations that to my best knowledge no convenient shorthands have
@@ -1275,7 +1376,7 @@ mail: \texttt{claudio dot beccari at gmail dot com}}}
% compulsory on all accented vowels, but, on the
% opposite, it carries the keys with all the accented \emph{lowercase}
% vowels \`a, \`e, \'e, \`i, \`o, \`u, bot no \emph{uppercase} accented
-% vowels are directly avalaible from the keyboard; the keyboard lacks
+% vowels are directly available from the keyboard; the keyboard lacks
% also the tie |~| (tilde) key, while the curly braces require pressing
% three keys simultaneously.
%
@@ -1294,11 +1395,11 @@ mail: \texttt{claudio dot beccari at gmail dot com}}}
% since its functionality has been introduced into the kernel of LaTeX
% 2001/06/01}
%
-% For what concerns the missing backtick key,
+% For what concerns the missing back tick key,
% which is used also for inputting the open quotes, it must be
% noticed that the shorthand |""| described above completely solves
% the problem for \textit{double} raised open quotes; besides this,
-% a single open raised quote may be input whit the little known
+% a single open raised quote may be input with the little known
% \LaTeX\ kernel command |\lq|; according to
% the traditions of particular publishing houses, since there are
% no compulsory regulations on the matter, the guillemets
@@ -1330,7 +1431,7 @@ mail: \texttt{claudio dot beccari at gmail dot com}}}
% \changes{italian-1.2q}{2005/02/05}{Redefined the caporali machinery
% so as to avoid incompatibilities with the slides class, as there
% are no Cyrillic slides fonts as there are for Latin script}
-% \changes{italian-1.3}{2013/09/30}{The slide font fix up is not any
+% \changes{italian-1.3}{2013/09/30}{The slide font fix-up is not any
% more necessary with the new caporali handling method.}
%
% In the previous versions of this language description file the
@@ -1353,7 +1454,7 @@ mail: \texttt{claudio dot beccari at gmail dot com}}}
% this feature is not so negligible. It's true that nowadays nobody
% should use the old OT1 encoding when typesetting in any language,
% English included, because independently form the document main
-% language, it is very frequent to quote passages in other languages,
+% language, it is very frequent to quote text in other languages,
% or to type foreign proper names of persons or places; nevertheless
% having in mind a minimum of backwards compatibility and hoping
% that the deliberate use of OT1 encoding (still necessary to typeset
diff --git a/macros/latex/contrib/babel-contrib/italian/italian.pdf b/macros/latex/contrib/babel-contrib/italian/italian.pdf
index f881ca2719..009f29080c 100644
--- a/macros/latex/contrib/babel-contrib/italian/italian.pdf
+++ b/macros/latex/contrib/babel-contrib/italian/italian.pdf
Binary files differ
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/README.md b/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/README.md
index d89b8c3664..f2c49838eb 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/README.md
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/README.md
@@ -1,4 +1,4 @@
-<b>Date of last change: 2022-03-13 to version v1.1f</b>
+<b>Date of last change: 2022-04-03 to version v1.1g</b>
# biblatex-gb7714-2015: a biblatex style package
@@ -14,7 +14,7 @@ Homepage: <https://github.com/hushidong/biblatex-gb7714-2015>
ctan-pkg: <https://www.ctan.org/pkg/biblatex-gb7714-2015>
-License: LaTeX Project Public License 1.3 or later
+License: LaTeX Project Public License 1.3c or later
A biblatex implementation of the `GB/T 7714-2015` bibliography style for Chinese users
@@ -41,11 +41,11 @@ biblatex-gb7714-2015 宏包是中文参考文献著录/标注标准 `GB/T 7714-2
* 注意:ms.bbx样式引入内容时需要特别注意空格的引入
* 注意:mx.cbx样式没有更新一些新的设置(比如2篇文献就压缩等),若有需要可以参考15.cbx和15ay.cbx修改。
* 应该说经过这些年的使用,很多corner case已经处理过了,但还是可能会存在一些,特别是ms和mx两个样式使用的少。
- * special characters in all fields?
- * entry without author: the delimiter between title and year?
- * TEST FOR texlive 2015,2016,2017
+ * special characters in all fields?
+ * entry without author: the delimiter between title and year?
+ * TEST FOR texlive 2015,2016,2017
* 标注中包围符号的定义[]、()、圆圈、方框等,有些命令没有去修改。
-
+
## Applications
@@ -93,7 +93,7 @@ biblatex-gb7714-2015 宏包是中文参考文献著录/标注标准 `GB/T 7714-2
* [biblatex 宏包中文手册 ](https://github.com/hushidong/biblatex-zh-cn)
* [biblatex 简明使用手册](https://github.com/hushidong/biblatex-solution-to-latex-bibliography)
* [biblatex-tutorial 摘译](https://github.com/hushidong/biblatex-tutorial-cn)
-* [biblatex-map bib文件修改工具](https://github.com/hushidong/biblatex-map/)
+* [bibmap bib文件批量修改工具](https://github.com/hushidong/biblatex-map/)
* [biblatex-check bib文件检查工具](https://github.com/Pezmc/BibLatex-Check)
* [biblatex-caspervector: caspervector 设计的中文参考文献样式](https://github.com/CasperVector/biblatex-caspervector)
* [gbt7714-bibtex-style: GB/T7714-2015 标准的bst实现版本](https://github.com/CTeX-org/gbt7714-bibtex-style)
@@ -777,12 +777,21 @@ biblatex-7714-2015的顺序编码制样式特别设计了这样的环境,以
biblatex的参考文献表的换行是由tex的断行机制决定的,处理行(盒子)溢出就要用tex的方式处理:
+直接使用`\sloppy`命令
+
+```
+{
+\sloppy
+\printbibliography[heading=subbibintoc,title=【参考文献】]
+}
+```
+或者自己设置具体断行相关的参数
```
{
%\hyphenation{Proce-edings}
\hyphenpenalty=5000 %断词阈值, 值越大越不容易出现断词
- \tolerance=500 %丑度, 10000为最大无溢出盒子, 参考the texbook 第6章
- \hbadness=100 %如果丑度超过hbadness这一阀值, 那么就会发出警告
+ \tolerance=500 %丑度, 10000为最大无溢出盒子, 参考the texbook 第6章
+ \hbadness=100 %如果丑度超过hbadness这一阀值, 那么就会发出警告
\printbibliography[heading=subbibintoc,title=【参考文献】]
}
```
@@ -790,6 +799,21 @@ biblatex的参考文献表的换行是由tex的断行机制决定的,处理行
当然如果不想这么设置,可以手动的修改参考文献条目的内容,在需要换行的内容前加上-符号。
见:https://github.com/hushidong/biblatex-gb7714-2015/issues/89
+
+* <b>参考文献表的每一页的页面底部不对齐,怎么处理?</b>
+
+通常是由一条参考文献内部不分页导致的,默认情况下希望一条参考文献条件放在一个页面内,所以在页面底部的文献可能由于放不下跑到下一页。
+这种情况可以通过调整段内的分页阈值改变,即使得一条参考文献(即一个段内)更容易分页即可:
+
+```
+{
+ \interlinepenalty=5000 %分页阈值,越小越容易分页
+ \printbibliography[heading=subbibintoc,title=【参考文献】]
+}
+```
+
+
+
* <b>当参考文献没有作者时,希望用佚名或Anon代替作者时,请问该怎么处理?</b>
@@ -841,6 +865,9 @@ biblatex的参考文献表的换行是由tex的断行机制决定的,处理行
\href{\thefield{url}}{#1}}}{#1}}%重设标题格式,将去除首字母大写
```
+注意:v1.1g版本后不再默认修改标题的字母大小写,若需要修改可以手动修改bib文件,若需要批量修改,可以使用[bibmap](https://github.com/hushidong/biblatex-map/)工具。
+
+
* <b>请问如何使文献表中的期刊名是单词首字母大写的?</b>
@@ -931,7 +958,6 @@ biblatex-gb7714-2015设计了两种多语言对照参考文献的实现方式,
* <b>在使用作者年制时,我希望文献表是按作者年份标题排序,而正文某处一个cite命令引用多个参考文献,且这些文献的标签是按年份作者标题排序,该怎么操作?</b>
-
有两种方法:
@@ -947,13 +973,13 @@ biblatex-gb7714-2015设计了两种多语言对照参考文献的实现方式,
然后在文献打印前加
-```\newrefcontext[sorting=nyt]```
+```\newrefcontext[sorting=gb7714-2015]```
(2) 二是手动给出排序
宏包加载时使用
-```\usepackage[backend=biber,style=gb7714-2015ay]{biblatex}```
+```\usepackage[backend=biber,style=gb7714-2015ay,sortcites=false]{biblatex}```
引用多个文献时按照年份顺序给出引用关键字,即正文中引用:
@@ -1007,9 +1033,9 @@ biblatex-gb7714-2015设计了两种多语言对照参考文献的实现方式,
\DefineBibliographyExtras{english}{\def\finalandcomma{}}%
```
-
-
-
+
+​
+​
* <b>请问希望正文中作者年制的标注(引用)标签中作者数量只能是1个,且只用其作者的姓而不管是否存在歧义时,该怎么处理?</b>
@@ -1158,7 +1184,6 @@ biblatex中处理顺序数字编码压缩的代码默认从3个连续编码开
代码见:![tgbbiblio.tex](egfigure/tgbbiblio.tex)
-
+ 姓名的格式更改示例
代码见:![opt-gbnamefmt.tex](example/opt-gbnamefmt.tex) ,![opt-gbnamefmt-default.tex](example/opt-gbnamefmt-default.tex)
@@ -1562,7 +1587,7 @@ please see the file 'biblatex-gb7714-2015.pdf' for further information!
* 2022/02/22 v1.1d,ctan,github
* 2022/03/07 v1.1e,ctan,github
* 2022/03/13 v1.1f,ctan,github
-
+* 2022/04/03 v1.1g,ctan,github
---------------------------------------------------------
## Update history:
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 940809762f..8773a3f6f6 100644
--- 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
Binary files differ
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 c0ff2bb90e..5860bd87a9 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{2022/03/13 v1.1f}
+\def\versionofgbtstyle{2022/04/03 v1.1g}
\def\versionofbiblatex{\abx@version}
\ProvidesFile{gb7714-2015.bbx}[\versionofgbtstyle biblatex bibliography style]
%\RequireBiber[3]%显式指定用biber后端,当用bibtex时会报错,但其实不会影响编译,只是采用bibtex后无法达成格式需求
@@ -2315,8 +2315,8 @@ test {\iftoggle{iftlseven}}%biblatex<=3.7
% 因为titlecase is applied to the contents of the field directly,title is not
%\DeclareFieldFormat{titlecase}{\MakeCapital#1}%重设标题格式,将其修改为首字母大写
\DeclareFieldFormat{titlecase}{\iftoggle{bbx:titlelink}{%
-\iffieldundef{url}{\MakeCapital#1}{%
-\href{\thefield{url}}{#1}}}{\MakeCapital#1}}%重设标题格式,将其修改为首字母大写
+\iffieldundef{url}{#1}{%
+\href{\thefield{url}}{#1}}}{#1}}%重设标题格式,将其修改为首字母大写
\DeclareFieldFormat{pages}{#1}%去掉前面引导页码的pp.等字符,\mkpageprefix[bookpagination]{#1}
\DefineBibliographyExtras{english}{\renewcommand*{\bibrangedash}{-}}%将页码间隔符替换会英文的短横线
\DefineBibliographyExtras{russian}{\renewcommand*{\bibrangedash}{-}}%将页码间隔符替换会英文的短横线
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 af346dd719..3ef25f0a4c 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{2022/03/13 v1.1f}
+\def\versionofgbtstyle{2022/04/03 v1.1g}
\def\versionofbiblatex{\abx@version}
\ProvidesFile{gb7714-2015ay.bbx}[\versionofgbtstyle biblatex bibliography style]
%\RequireBiber[3]%显式指定用biber后端,当用bibtex时会报错,但其实不会影响编译,只是采用bibtex后无法达成格式需求
@@ -2169,8 +2169,8 @@ test {\iftoggle{iftlseven}}%biblatex<=3.7
% 因为titlecase is applied to the contents of the field directly,title is not
%\DeclareFieldFormat{titlecase}{\MakeCapital#1}%重设标题格式,将其修改为首字母大写
\DeclareFieldFormat{titlecase}{\iftoggle{bbx:titlelink}{%
-\iffieldundef{url}{\MakeCapital#1}{%
-\href{\thefield{url}}{#1}}}{\MakeCapital#1}}%重设标题格式,将其修改为首字母大写
+\iffieldundef{url}{#1}{%
+\href{\thefield{url}}{#1}}}{#1}}%重设标题格式,将其修改为首字母大写
\DeclareFieldFormat{pages}{#1}%页码引用格式的修改%去掉前面引导页码的pp.等字符
\DefineBibliographyExtras{english}{\renewcommand*{\bibrangedash}{-}}
\DefineBibliographyExtras{russian}{\renewcommand*{\bibrangedash}{-}}
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 625cb35a20..c23aa3c1a2 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{2022/03/13 v1.1f}
+\def\versionofgbtstyle{2022/04/03 v1.1g}
\def\versionofbiblatex{\abx@version}
\ProvidesFile{gb7714-2015ms.bbx}[\versionofgbtstyle biblatex bibliography style]
%\RequireBiber[3]%显式指定用biber后端,当用bibtex时会报错,但其实不会影响编译,只是采用bibtex后无法达成格式需求
@@ -1887,8 +1887,8 @@ togl{bbx:gbstyle} or test {\iffieldequalstr{userd}{chinese}}%
% 因为titlecase is applied to the contents of the field directly,title is not
%\DeclareFieldFormat{titlecase}{\MakeCapital##1}%重设标题格式,将其修改为首字母大写
\DeclareFieldFormat{titlecase}{\iftoggle{bbx:titlelink}{%
-\iffieldundef{url}{\MakeCapital##1}{%
-\href{\thefield{url}}{##1}}}{\MakeCapital##1}}%重设标题格式,将其修改为首字母大写
+\iffieldundef{url}{##1}{%
+\href{\thefield{url}}{##1}}}{##1}}%重设标题格式,将其修改为首字母大写
\DeclareFieldFormat{pages}{##1}%去掉前面引导页码的pp.等字符,\mkpageprefix[bookpagination]{##1}
}%
%
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 7b4b33dd6a..54515d1671 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{2022/03/13 v1.1f}
+\def\versionofgbtstyle{2022/04/03 v1.1g}
\def\versionofbiblatex{\abx@version}
\ProvidesFile{gb7714-2015mx.bbx}[\versionofgbtstyle biblatex bibliography style]
%\RequireBiber[3]%显式指定用biber后端,当用bibtex时会报错,但其实不会影响编译,只是采用bibtex后无法达成格式需求
@@ -1784,8 +1784,8 @@
% 因为titlecase is applied to the contents of the field directly,title is not
%\DeclareFieldFormat{titlecase}{\MakeCapital#1}%重设标题格式,将其修改为首字母大写
\DeclareFieldFormat{titlecase}{\iftoggle{bbx:titlelink}{%
-\iffieldundef{url}{\MakeCapital#1}{%
-\href{\thefield{url}}{#1}}}{\MakeCapital#1}}%重设标题格式,将其修改为首字母大写
+\iffieldundef{url}{#1}{%
+\href{\thefield{url}}{#1}}}{#1}}%重设标题格式,将其修改为首字母大写
\DeclareFieldFormat{pages}{#1}%去掉前面引导页码的pp.等字符,\mkpageprefix[bookpagination]{#1}
\DefineBibliographyExtras{english}{\renewcommand*{\bibrangedash}{-}}%将页码间隔符替换会英文的短横线
\DefineBibliographyExtras{russian}{\renewcommand*{\bibrangedash}{-}}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-CCNU.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-CCNU.bbx
index ba2d479971..50840d2dd4 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-CCNU.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-CCNU.bbx
@@ -100,6 +100,7 @@
%设置一些标点格式为中文的标点
%==================================================
\DeclareFieldFormat*{title}{\iffieldequalstr{userd}{chinese}{#1}{#1\isdot}}
+\DeclareFieldFormat[book]{title}{#1}
\def\gbcaselocalset{%
\renewrobustcmd*{\bibinitperiod}{}%
\renewcommand*{\revsdnamepunct}{}%
@@ -205,7 +206,7 @@
%
% v1.0k,20180425,为出版信息增加字体控制命令,hzz
% %类似\newbibmacro*{publisher+location+date}
-\newbibmacro*{location+institution+date}{\bibpubfont%
+\renewbibmacro*{location+institution+date}{\bibpubfont%
\iftoggle{bbx:gbpub}%
{\testCJKfirst{userd}%
\ifboolexpr{%
@@ -310,7 +311,7 @@ test {\iflistundef{location}} and test {\iflistundef{institution}}%
% 增加inbook:parent用于辅助crossref传统功能的实现
% 用在{crosscite}宏中
% 20210216,v1.0w,hzz
-\newbibmacro*{inbook:parent}{%
+\renewbibmacro*{inbook:parent}{%
\usebibmacro{bybookauthor}%
%\ifnameundef{bookauthor}{%
% \ifnameundef{editor}{}{\newunit}%
@@ -339,3 +340,95 @@ test {\iflistundef{location}} and test {\iflistundef{institution}}%
{\printtext{\bibstring{incn}}}%
{\printtext{\bibstring{in}}}%
}}%\newunit\newblock\intitlepunct
+
+
+%
+% 对edition版本信息格式做出修改
+% 注意实现逻辑:
+% 1. 不是整数时原样输出
+% 2. 当是整数且大于1时按版本格式输出
+\DeclareFieldFormat{edition}{\bibtitlefont%源来自biblatex.DEF
+ \testCJKfirst{userd}%
+ \iftoggle{ifCJKforgbt}%
+ {\ifinteger{#1}%
+ {\ifnumgreater{#1}{1}{\printtext{#1\str@edition}\newunit}{}}%
+ {#1\isdot\newunit}}%
+ {\ifinteger{#1}%
+ {\ifnumgreater{#1}{1}{\mkbibordedition{#1}~\bibstring{edition}\newunit}{}}%
+ {#1\isdot\newunit}}%
+}
+
+
+%
+% 增加inbook:parent用于辅助crossref传统功能的实现
+% 用在{crosscite}宏中
+% 20210216,v1.0w,hzz
+\renewbibmacro*{inbook:parent}{%
+\usebibmacro{bybookauthor}%
+%\ifnameundef{bookauthor}{%
+% \ifnameundef{editor}{}{\newunit}%
+%}{\newunit}%替换下一句
+ %\newunit\newblock
+\iffieldundef{series}{}{\usebibmacro{series+number}\setunit{\addcolon\addspace}}%为处理一些存在series的情况而增加
+\usebibmacro{maintitle+booktitle}%
+\iffieldundef{volume}{}{\setunit{\addcolon\addspace}\printfield{volume}}%
+\iffieldundef{number}{}{\setunit{\addcolon\addspace}\printfield{number}}%增加卷和册信息
+ \newunit\newblock%
+ \printfield{edition}%
+ \usebibmacro{publisher+location+date}}
+
+
+
+
+\DeclareBibliographyDriver{book}{%源来自standard.bbx文件
+\usebibmacro{bibindex}%
+\usebibmacro{begentry}%
+\usebibmacro{author/editor+others/translator+others}%
+\ifnameundef{namea}{}{\setunit{\labelnamepunct}\newblock}%这一段用于去除作者不存在时多出的标点
+\usebibmacro{maintitle+title}%
+\iftoggle{bbx:gbstrict}{}{%
+\newunit%
+\printlist{language}%
+\newunit\newblock%
+\usebibmacro{byauthor}%
+\newunit\newblock}%
+\usebibmacro{byeditor+others}%
+\newunit%
+\printfield{edition}%
+\newblock%%
+\iftoggle{bbx:gbstrict}{}{%
+\iffieldundef{maintitle}%
+{\printfield{volume}%
+\printfield{part}}%
+{}%
+\newunit%
+\printfield{volumes}%
+\newunit\newblock%
+\usebibmacro{series+number}%
+\newunit\newblock}%
+%\printfield{note}%
+%\newunit\newblock%
+\usebibmacro{publisher+location+date}%
+%\newunit\newblock %这里标点去掉
+\usebibmacro{chapter+pages}%
+ \iffieldundef{url}{}{%当没有网址时也不输出
+ \usebibmacro{modifydate}}%带括号的修改或更新日期,
+\usebibmacro{doi+eprint+url}%从下面移动到上面来,因为gbt2015的url需直接放在页码后面。
+ \newunit\newblock%
+ \printfield{pagetotal}%
+ \newunit\newblock%
+ \iftoggle{bbx:isbn}
+ {\printfield{isbn}}
+ {}%
+ \newunit\newblock
+ %\usebibmacro{doi+eprint+url}%
+ %\newunit\newblock
+ \usebibmacro{addendum+pubstate}%
+ \setunit{\bibpagerefpunct}\newblock
+ \usebibmacro{pageref}%
+ \newunit\newblock
+ \iftoggle{bbx:related}
+ {\usebibmacro{related:init}%
+ \usebibmacro{related}}
+ {}%
+ \usebibmacro{annotation}\usebibmacro{finentry}}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-NWAFU.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-NWAFU.bbx
index 917b71a761..6a93f21b39 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-NWAFU.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-NWAFU.bbx
@@ -143,7 +143,7 @@
%
% 重设专利title的输出,将文献类型标识符输出出去
%
-\newbibmacro*{patenttitle}{%原输出来自biblatex.def文件
+\renewbibmacro*{patenttitle}{%原输出来自biblatex.def文件
\ifboolexpr{%
test{\iffieldundef{title}}%
and%
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-SEU.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-SEU.bbx
index 728a2be5ef..e17deed2b2 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-SEU.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-SEU.bbx
@@ -127,7 +127,7 @@
%
% 重设专利title的输出,将文献类型标识符输出出去
%
-\newbibmacro*{patenttitle}{%原输出来自biblatex.def文件
+\renewbibmacro*{patenttitle}{%原输出来自biblatex.def文件
\ifboolexpr{%
test{\iffieldundef{title}}%
and%
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/makeall.py b/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/makeall.py
index df45114a81..69cebb8500 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/makeall.py
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/makeall.py
@@ -19,7 +19,7 @@ def compileall():
pwd=os.getcwd()
- filesneedcopy=['CCNUthesis.bbx','CCNUthesis.cbx','NWAFUthesis.bbx','NWAFUthesis.cbx','SEUthesis.bbx','SEUthesis.cbx',
+ filesneedcopy=['gb7714-CCNU.bbx','gb7714-CCNU.cbx','gb7714-NWAFU.bbx','gb7714-NWAFU.cbx','gb7714-SEU.bbx','gb7714-SEU.cbx',
'chinese-erj.bbx','chinese-erj.cbx','example.bib', 'gb7714-1987.bbx', 'gb7714-1987.cbx',
'gb7714-1987ay.bbx', 'gb7714-1987ay.cbx', 'gb7714-2005.bbx', 'gb7714-2005.cbx', 'gb7714-2005ay.bbx',
'gb7714-2005ay.cbx', 'gb7714-2015-gbk.def', 'gb7714-2015.bbx', 'gb7714-2015.cbx', 'gb7714-2015ay.bbx',