summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2019-03-18 21:15:59 +0000
committerKarl Berry <karl@freefriends.org>2019-03-18 21:15:59 +0000
commitfdcf5fd90a27314abf7b130fd1e7a7bba0a3fa6a (patch)
treeb2711f87e663fe265d02234dc9ddd249248d82bd /Master/texmf-dist/source/latex
parentdcb548e4ca7fc878c5f6d741fddc8b53dc52af38 (diff)
nwejm (18mar19)
git-svn-id: svn://tug.org/texlive/trunk@50447 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex')
-rw-r--r--Master/texmf-dist/source/latex/nwejm/nwejm.dtx475
1 files changed, 389 insertions, 86 deletions
diff --git a/Master/texmf-dist/source/latex/nwejm/nwejm.dtx b/Master/texmf-dist/source/latex/nwejm/nwejm.dtx
index 129e60adbd5..a5efc1fe1e6 100644
--- a/Master/texmf-dist/source/latex/nwejm/nwejm.dtx
+++ b/Master/texmf-dist/source/latex/nwejm/nwejm.dtx
@@ -13,7 +13,7 @@ new journal "North-Western European Journal of Mathematics".
Release
-------
-2018/04/07 v0.98e
+2019/03/18 v0.98f
Development
-----------
@@ -44,7 +44,7 @@ https://github.com/dbitouze/nwejm.
\input l3docstrip.tex
\Msg{********************************************************}
\Msg{* Installation}
-\Msg{* Class: nwejm 2018/04/07 v0.98e}
+\Msg{* Class: nwejm 2019/03/18 v0.98f}
\Msg{* for the journal}
\Msg{* "North-Western European Journal of Mathematics" (DB)}
\Msg{********************************************************}
@@ -61,7 +61,7 @@ License:| Released under the LaTeX Project Public License v1.3c or later
\endpreamble
\postamble
-Copyright (C) 2015-2018 by Denis Bitouze <denis.bitouze@univ-littoral.fr>
+Copyright (C) 2015-2019 by Denis Bitouze <denis.bitouze@univ-littoral.fr>
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License (LPPL), either
@@ -174,6 +174,29 @@ Running "make install" installs the files in the local TeX tree.
%
%\maketitle
%
+% \changes{v0.98f}{2019/03/18}{%
+% \begin{itemize}
+% \item ix page numbers of the standalone articles were not deduced from the
+% whole issue.
+% \item Fix wrong languages switches in the whole issue.
+% \item Command for easily create new enumerations.
+% \item ×\fixpagenumber× command to manually control the page numbers (to be used
+% instead of \setcounter{page}).
+% \item Fix language dependant glossaries' rules were correctly applied.
+% \item Fix layouts were likely different between ×issue× and ×article× versions.
+% \item Fix unique (auto)citations with multiple keys in case of French.
+% \item Temporary trick in order to avoid inappropriate capitalization of the
+% initial after periods abbreviating journals (see
+% \url{https://github.com/plk/biblatex/issues/851}).
+% \item ×authoryear× bib and cite style changed for ×authoryear-comp×.
+% \item "Such that" symbol in sets definitions now is ×\vert× instead of ×\slash×.
+% \item New built-in enumeration: conditions.
+% \item Plural forms of (new) theorems now handled.
+% \item hyperfootnotes now true since it happens bib footnotes texts are not on
+% the page as footnotes marks.
+% \item Documentation improved.
+% \end{itemize}
+% }%
% \changes{v0.98e}{2018/04/07}{Package \package{mathrsfs} replaced by
% \Package{rsfso}. Documentation slighty improved.}%
% \changes{v0.98d}{2017/02/14}{No functional changes: this new version only
@@ -289,8 +312,8 @@ Running "make install" installs the files in the local TeX tree.
\ProvidesExplClass
%<class> {nwejm}
%<class-article> {nwejmart}
- {2018/04/07}
- {0.98e}
+ {2019/03/18}
+ {0.98f}
{
Class for the journal "North-Western European Journal of Mathematics".
}
@@ -369,19 +392,7 @@ Running "make install" installs the files in the local TeX tree.
%<*class>
% \end{macrocode}
%
-% \begin{macro}{\c_@@_pagegrid_dim}
-% We declare the constant dimension of the pagegrid, when enabled.
-% \begin{macrocode}
-\dim_const:Nn \c_@@_pagegrid_dim { 1mm}
-% \end{macrocode}
-% \end{macro}
-%
-% We define some class options:
-% \begin{itemize}
-% \item "pagegrid" in order to draw a grid on each page, in order to check the
-% layout (most debugging purpose),
-% \item ...
-% \end{itemize}
+% We define some class options.
%
% \begin{macrocode}
\bool_new:N \g_@@_for_authors_bool
@@ -395,8 +406,6 @@ Running "make install" installs the files in the local TeX tree.
% \begin{macrocode}
\keys_define:nn { nwejm }
{
- pagegrid .dim_gset:N = \g_@@_pagegrid_dim,
- pagegrid .default:n = {\c_@@_pagegrid_dim},
output .choice:,
output / cover .code:n = {%
\bool_gset_true:N \g_@@_for_printer_bool%
@@ -750,11 +759,6 @@ Running "make install" installs the files in the local TeX tree.
}
% \end{macrocode}
%
-% \item Print page grid in background:
-% \begin{macrocode}
-\RequirePackage[foreground]{pagegrid}%
-% \end{macrocode}
-%
% \item Tools to load and manipulate data:
% \begin{macrocode}
\RequirePackage{datatool}%
@@ -899,8 +903,8 @@ Running "make install" installs the files in the local TeX tree.
%
% \item Hypertext marks:
% \begin{macrocode}
-\RequirePackage[hyperfootnotes=false,pdfencoding=unicode,final]{hyperref}%
-\AtBeginDocument{%
+\RequirePackage[pdfencoding=unicode,final]{hyperref}%
+\AtEndPreamble{%
\hypersetup{hidelinks,hypertexnames=false,breaklinks}%
}%
% \end{macrocode}
@@ -1932,10 +1936,13 @@ Running "make install" installs the files in the local TeX tree.
% version of the class (the first pages are for the table of contents which
% was decided to be in frontmatter),
% \item mainmatter\footnote{Page numbers in arabic, right page style, right
-% geometry of the page.} in the \enquote{article} version of the class.
+% geometry of the page.} in the \enquote{article} version of the class. In
+% this case, we also use the \enquote{main geometry} of the \enquote{issue}
+% version of the class, otherwise, the layouts of the two versions are likely
+% to be different.
% \end{itemize}
% \begin{macrocode}
-%<class-article> \AtBeginDocument{\g_@@_mainmatter_switch_tl}
+%<class-article> \AfterEndPreamble{\g_@@_mainmatter_switch_tl}
% \end{macrocode}
%
% \section{Options}
@@ -2179,6 +2186,17 @@ Running "make install" installs the files in the local TeX tree.
title / german .value_required:n = true,
title / dutch .value_required:n = true,
%
+ title-plural .tl_set:N = \l_@@_newtheorem_title_plural_tl,
+ title-plural / french .tl_set:N = \l_@@_newtheorem_french_title_plural_tl,
+ title-plural / english .tl_set:N = \l_@@_newtheorem_english_title_plural_tl,
+ title-plural / german .tl_set:N = \l_@@_newtheorem_german_title_plural_tl,
+ title-plural / dutch .tl_set:N = \l_@@_newtheorem_dutch_title_plural_tl,
+ title-plural .value_required:n = true,
+ title-plural / french .value_required:n = true,
+ title-plural / english .value_required:n = true,
+ title-plural / german .value_required:n = true,
+ title-plural / dutch .value_required:n = true,
+ %
style .choice:,
style / theorem .code:n = {\_@@_theorem_style:n {theorem}},
style / definition .code:n = {\_@@_theorem_style:n {definition}},
@@ -2823,10 +2841,18 @@ Running "make install" installs the files in the local TeX tree.
%<class-article>
%<class-article>\file_if_exist:nT { \c_@@_main_file_name_tl.aux }
%<class-article>{\externaldocument[@@-]{\c_@@_main_file_name_tl}
-%<class-article> \AtBeginDocument{\setcounter{page}{\number\numexpr\getpagerefnumber{@@-\currfilebase}}}
+%<class-article> \AfterEndPreamble{\setcounter{page}{\number\numexpr\getpagerefnumber{@@-\currfilebase}}}
%<class-article>}
% \end{macrocode}
%
+% In case one wants to manually control the page numbers, the following macro
+% ×\fixpagenumber{...}× has to be used instead of ×\setcounter{page}{...}×.
+% \begin{macrocode}
+\NewDocumentCommand \fixpagenumber { m } {
+%<class-article>\setcounter{page}{#1}
+}
+% \end{macrocode}
+%
% \section{User level commands}
%
% Here, we gather all the user level (public) commands.
@@ -3217,30 +3243,83 @@ Running "make install" installs the files in the local TeX tree.
%
% We create a variant of the "\input" macro to be use for the input of each
% article: it starts a new \package{biblatex}'s "refsection" and reset to zero
-% some counters.
+% some counters. It also redefine the glossaries' rules since glossaries'
+% acronyms' suffix in effect are not for the last loaded language (see
+% \url{https://tex.stackexchange.com/q/475788/18401}).
% \begin{macrocode}
\NewDocumentCommand \inputarticle { O{english} m } {%
\newrefsection
- \tl_if_eq:nnTF { #1 } { german } {%
- \selectlanguage{ngerman}
- }{
- \tl_if_eq:nnTF { #1 } { french } {%
- \selectlanguage{french}
- \g_@@_french_crefname_tl
- }{
- \selectlanguage{#1}
+ \renewcommand*{\glspluralsuffix}{s}
+ \renewcommand*{\glsacrpluralsuffix}{\glspluralsuffix}
+ \renewcommand*{\glsupacrpluralsuffix}{\glstextup{\glsacrpluralsuffix}}
+ \StandardFootnotes
+ \str_case:nn {#1} {
+ {english} {
+ \selectlanguage{english}
+ \renewcommand*{\glossaryname}{Glossary}%
+ \renewcommand*{\acronymname}{Acronyms}%
+ \renewcommand*{\entryname}{Notation}%
+ \renewcommand*{\descriptionname}{Description}%
+ \renewcommand*{\symbolname}{Symbol}%
+ \renewcommand*{\pagelistname}{Page List}%
+ \renewcommand*{\glssymbolsgroupname}{Symbols}%
+ \renewcommand*{\glsnumbersgroupname}{Numbers}%
}
- }%
+ {german} {
+ \selectlanguage{ngerman}
+ \renewcommand*{\glossaryname}{Glossar}%
+ \renewcommand*{\acronymname}{Akronyme}%
+ \renewcommand*{\entryname}{Bezeichnung}%
+ \renewcommand*{\descriptionname}{Beschreibung}%
+ \renewcommand*{\symbolname}{Symbol}%
+ \renewcommand*{\pagelistname}{Seiten}%
+ \renewcommand*{\glssymbolsgroupname}{Symbole}%
+ \renewcommand*{\glsnumbersgroupname}{Zahlen}%
+ }
+ {ngerman} {
+ \selectlanguage{ngerman}
+ \renewcommand*{\glossaryname}{Glossar}%
+ \renewcommand*{\acronymname}{Akronyme}%
+ \renewcommand*{\entryname}{Bezeichnung}%
+ \renewcommand*{\descriptionname}{Beschreibung}%
+ \renewcommand*{\symbolname}{Symbol}%
+ \renewcommand*{\pagelistname}{Seiten}%
+ \renewcommand*{\glssymbolsgroupname}{Symbole}%
+ \renewcommand*{\glsnumbersgroupname}{Zahlen}%
+ }
+ {french} {
+ \selectlanguage{french}
% \end{macrocode}
%
% Though we switch to \pkg{babel}'s ×french×, footnotes are not displayed as
% French ones in the issue. The following fixes this trouble.
% \begin{macrocode}
- \tl_if_eq:nnTF { #1 } { french } {%
- \FrenchFootnotes
- }{%
- \StandardFootnotes
- }
+ \FrenchFootnotes
+ \g__nwejm_french_crefname_tl
+ \renewcommand*{\glossaryname}{Glossaire}%
+ \renewcommand*{\acronymname}{Acronymes}%
+ \renewcommand*{\entryname}{Terme}%
+ \renewcommand*{\descriptionname}{Description}%
+ \renewcommand*{\symbolname}{Symbole}%
+ \renewcommand*{\pagelistname}{Pages}%
+ \renewcommand*{\glssymbolsgroupname}{Symboles}%
+ \renewcommand*{\glsnumbersgroupname}{Nombres}%
+ \renewcommand*{\glspluralsuffix}{s}
+ \renewcommand*{\glsacrpluralsuffix}{}
+ \renewcommand*{\glsupacrpluralsuffix}{}
+ }
+ {dutch} {
+ \selectlanguage{dutch}
+ \renewcommand*{\glossaryname}{Woordenlijst}%
+ \renewcommand*{\acronymname}{Acroniemen}%
+ \renewcommand*{\entryname}{Benaming}%
+ \renewcommand*{\descriptionname}{Beschrijving}%
+ \renewcommand*{\symbolname}{Symbool}%
+ \renewcommand*{\pagelistname}{Pagina's}%
+ \renewcommand*{\glssymbolsgroupname}{Symbolen}%
+ \renewcommand*{\glsnumbersgroupname}{Cijfers}%
+ }
+ }%
% \end{macrocode}
%
% We reset setup possibly chosen in previous articles.
@@ -3317,7 +3396,6 @@ Running "make install" installs the files in the local TeX tree.
\iow_now:Nx \g_@@_bib_out_iow {%
@periodical{\c_@@_issue_bib_key_tl,\iow_newline:
issuetitle = {\exp_not:f\c_@@_journal_title_string_tl},\iow_newline:
- date = {\g_@@_bib_issue_date_tl},\iow_newline:
number = \int_use:N \g_@@_issue_number_int,\iow_newline:
% issn = {\l_@@_journal_issn_tl},\iow_newline:
options = {skipbib}\iow_newline:
@@ -3604,7 +3682,7 @@ Running "make install" installs the files in the local TeX tree.
% \end{macrocode}
%
% We enforce all the previous floats to be processed before a new article starts
-% (this is already done in "acknowledgments"environment but is repeated here if
+% (this is already done in "acknowledgments" environment but is repeated here if
% what is before provides floats but not acknowledgments).
% \begin{macrocode}
%<class> \FloatBarrier%
@@ -4174,7 +4252,7 @@ Running "make install" installs the files in the local TeX tree.
}
}
\cs_set_eq:NN \_@@_orig_newtheorem \newtheorem
-\cs_new_protected:Nn \_@@_new_theorem:nnnnn
+\cs_new_protected:Nn \_@@_new_theorem:nnnnnnnnn
{
\IfTranslation{English}{#1}{%
}{%
@@ -4192,12 +4270,30 @@ Running "make install" installs the files in the local TeX tree.
}{%
\DeclareTranslation{Dutch}{#1}{\tl_mixed_case:n{#5}}%
}
+ %
+ \IfTranslation{English}{#1-plural}{%
+ }{%
+ \DeclareTranslation{English}{#1-plural}{\tl_mixed_case:n{#6}}%
+ }
+ \IfTranslation{French}{#1-plural}{%
+ }{%
+ \DeclareTranslation{French}{#1-plural}{\tl_mixed_case:n{#7}}%
+ }
+ \IfTranslation{German}{#1-plural}{%
+ }{%
+ \DeclareTranslation{German}{#1-plural}{\tl_mixed_case:n{#8}}%
+ }
+ \IfTranslation{Dutch}{#1-plural}{%
+ }{%
+ \DeclareTranslation{Dutch}{#1-plural}{\tl_mixed_case:n{#9}}%
+ }
\_@@_orig_newtheorem{#1}{\tl_mixed_case:n{ \GetTranslation{#1} }}
\bool_if:NF {\g_@@_no_numbered_theorem_bool} {
\_@@_orig_newtheorem*{#1_@@_nonumbered}{\tl_mixed_case:n{ \GetTranslation{#1} }}
}
+
}
-\cs_generate_variant:Nn \_@@_new_theorem:nnnnn { nVVVV }
+\cs_generate_variant:Nn \_@@_new_theorem:nnnnnnnnn { nVVVVVVVV }
% \end{macrocode}
%
% Then, we define a public command, similar to "\newtheorem", based on
@@ -4213,6 +4309,12 @@ Running "make install" installs the files in the local TeX tree.
\tl_clear:N \l_@@_newtheorem_german_title_tl
\tl_clear:N \l_@@_newtheorem_dutch_title_tl
%
+ \tl_clear:N \l_@@_newtheorem_title_plural_tl
+ \tl_clear:N \l_@@_newtheorem_french_title_plural_tl
+ \tl_clear:N \l_@@_newtheorem_english_title_plural_tl
+ \tl_clear:N \l_@@_newtheorem_german_title_plural_tl
+ \tl_clear:N \l_@@_newtheorem_dutch_title_plural_tl
+ %
\tl_set:Nn \l_@@_newtheorem_english_title_tl {
#2
}
@@ -4225,13 +4327,26 @@ Running "make install" installs the files in the local TeX tree.
\tl_set:Nf \l_@@_newtheorem_dutch_title_tl {
\l_@@_newtheorem_english_title_tl
}
- \tl_set:Nn \l_@@_newtheorem_style_tl {
- theorem
+ %
+ \tl_set:Nf \l_@@_newtheorem_english_title_plural_tl {
+ \l_@@_newtheorem_english_title_tl s
}
+ \tl_set:Nf \l_@@_newtheorem_french_title_plural_tl {
+ \l_@@_newtheorem_english_title_plural_tl
+ }
+ \tl_set:Nf \l_@@_newtheorem_german_title_plural_tl {
+ \l_@@_newtheorem_english_title_plural_tl
+ }
+ \tl_set:Nf \l_@@_newtheorem_dutch_title_plural_tl {
+ \l_@@_newtheorem_english_title_plural_tl
+ }
+ %
\_@@_theorem_style:n {theorem}
+ %
\IfNoValueF {#1}
{
\keys_set:nn { nwejm / newtheorem } { #1 }
+ %
\tl_if_empty:NF \l_@@_newtheorem_title_tl {%
\tl_set:Nf \l_@@_newtheorem_english_title_tl
{
@@ -4250,14 +4365,47 @@ Running "make install" installs the files in the local TeX tree.
\l_@@_newtheorem_title_tl
}
}
+ %
+ \tl_if_empty:NT \l_@@_newtheorem_title_plural_tl {%
+ \tl_if_empty:NTF \l_@@_newtheorem_title_tl {%
+ \tl_set:Nn \l_@@_newtheorem_title_plural_tl { #2 s }
+ }{%
+ \tl_set:Nf \l_@@_newtheorem_title_plural_tl { \l_@@_newtheorem_title_tl s }
+ }
+ }
+ \tl_set:Nf \l_@@_newtheorem_english_title_plural_tl
+ {
+ \l_@@_newtheorem_title_plural_tl
+ }
+ \tl_set:Nf \l_@@_newtheorem_french_title_plural_tl
+ {
+ \l_@@_newtheorem_title_plural_tl
+ }
+ \tl_set:Nf \l_@@_newtheorem_german_title_plural_tl
+ {
+ \l_@@_newtheorem_title_plural_tl
+ }
+ \tl_set:Nf \l_@@_newtheorem_dutch_title_plural_tl
+ {
+ \l_@@_newtheorem_title_plural_tl
+ }
+ %
+ % \tl_set:Nn \l_@@_newtheorem_style_tl {
+ % theorem
+ % }
}
%
- \_@@_new_theorem:nVVVV
+ \_@@_new_theorem:nVVVVVVVV
{#2}
{\l_@@_newtheorem_english_title_tl}
{\l_@@_newtheorem_french_title_tl}
{\l_@@_newtheorem_german_title_tl}
{\l_@@_newtheorem_dutch_title_tl}
+ {\l_@@_newtheorem_english_title_plural_tl}
+ {\l_@@_newtheorem_french_title_plural_tl}
+ {\l_@@_newtheorem_german_title_plural_tl}
+ {\l_@@_newtheorem_dutch_title_plural_tl}
+ {\l_@@_newtheorem_style_tl}
% \end{macrocode}
% The following line ensures footnotes and, more specifically, autocitations
% (which are in footnotes) are handled in theorems' notes (i.e. in their
@@ -4296,6 +4444,12 @@ Running "make install" installs the files in the local TeX tree.
% \begin{macrocode}
\clist_put_right:Nn \g_@@_counters_to_be_reset_clist {#2}
}
+ \ifcurrentbaselanguage{french}{%
+ \crefname{#2}{\tl_lower_case:n{ \GetTranslation{#2} }}{\tl_lower_case:n{ \GetTranslation{#2-plural} }}
+ }{%
+ \crefname{#2}{\GetTranslation{#2}}{\GetTranslation{#2-plural}}
+ }
+ \Crefname{#2}{\tl_mixed_case:n{ \GetTranslation{#2} }}{\tl_mixed_case:n{ \GetTranslation{#2-plural} }}
}
% \end{macrocode}
%
@@ -4381,14 +4535,15 @@ Running "make install" installs the files in the local TeX tree.
}
% \end{macrocode}
%
-% \subsection{Assertions and hypotheses enumerations}
+% \subsection{Assertions, hypotheses and conditions enumerations}
%
% An environment for assertions' and hypotheses enumerations are provided in
% order to display them homogeneously:
% \begin{macrocode}
\clist_set:Nn \l_tmpa_clist {%
hypothesis,
- assertion%
+ assertion,%
+ condition%
}
\clist_map_inline:Nn \l_tmpa_clist {
\newlist{#1}{enumerate}{1}
@@ -4422,6 +4577,109 @@ Running "make install" installs the files in the local TeX tree.
}
}
}
+% \end{macrocode}
+%
+% Public command for easily create new environments of enumerations. The mandatory
+% argument is the name of the environment which is (a priori) the plural form of
+% the name of the enumeration; the optional argument let us specify:
+% \begin{itemize}
+% \item the singular form if it is not obtained by removing the last letter to the plural
+% form,
+% \item the plural form if it is not the same as the environment's name,
+% \item the label form if it is not the same as the initial of the singular form.
+% \end{itemize}
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \_@@_tl_pop_right:n #1
+ {
+ \tl_reverse:f
+ {
+ \tl_tail:f
+ {
+ \tl_reverse:n { #1 }
+ }
+ }
+ }
+\cs_generate_variant:Nn \tl_reverse:n { f }
+\cs_generate_variant:Nn \_@@_tl_pop_right:n { v }
+
+\cs_new_protected:Npn \_@@_start_newenumeration:nn #1 #2
+{
+ \keys_define:nn { nwejm/newenumeration }
+ {
+ singular .tl_set:c = {l_@@_newenumeration_#2_singular_tl},
+ plural .tl_set:c = {l_@@_newenumeration_#2_plural_tl},
+ label .tl_set:c = {l_@@_newenumeration_#2_label_tl},
+ }
+ \IfNoValueF {#1}
+ {
+ \keys_set:nn { nwejm/newenumeration } { #1 }
+ }
+ \tl_if_empty:cT {l_@@_newenumeration_#2_plural_tl} {
+ \tl_set:cn {l_@@_newenumeration_#2_plural_tl} {#2}
+ }
+ \tl_if_empty:cT {l_@@_newenumeration_#2_singular_tl} {
+ \tl_set:cV {l_@@_newenumeration_#2_singular_tl} {\_@@_tl_pop_right:v {l_@@_newenumeration_#2_plural_tl}}
+ }
+ \tl_if_empty:cT {l_@@_newenumeration_#2_label_tl} {
+ \tl_set:cV {l_@@_newenumeration_#2_label_tl} {
+ \tl_upper_case:n {
+ \tl_head:f {
+ \tl_use:c {l_@@_newenumeration_#2_singular_tl}
+ }
+ }
+ }
+ }
+}
+\cs_new_protected:Npn \_@@_end_newenumeration:n #1
+{
+ \tl_set:cn {l_@@_newenumeration_#1_reference_tl} {
+ \textsf{
+ \tl_use:c {l_@@_newenumeration_#1_label_tl}
+ }
+ }
+ \setlist[#1]{%
+ label=
+ \normalfont
+ (
+ \tl_use:c {l_@@_newenumeration_#1_reference_tl}
+ $\c_math_subscript_token{\mathsf{\arabic*}}$
+ ),
+ ref=
+ (
+ \tl_use:c {l_@@_newenumeration_#1_reference_tl}
+ $_\mathsf{\arabic*}$
+ )
+ }
+ \crefname{#1i}{
+ \tl_use:c {l_@@_newenumeration_#1_singular_tl}
+ }{%
+ \tl_use:c {l_@@_newenumeration_#1_plural_tl}
+ }
+ \Crefname{#1i}{
+ \tl_mixed_case:n{
+ \tl_use:c {l_@@_newenumeration_#1_singular_tl}
+ }
+ }{%
+ \tl_mixed_case:n{
+ \tl_use:c {l_@@_newenumeration_#1_plural_tl}
+ }
+ }
+}
+%
+\NewDocumentCommand{\newenumeration}{O{}m}
+{
+ \_@@_start_newenumeration:nn {#1}{#2}
+ \newlist{#2}{enumerate}{1}
+ \_@@_end_newenumeration:n {#2}
+}
+\NewDocumentCommand{\renewenumeration}{O{}m}
+{
+ \_@@_start_newenumeration:nn {#1}{#2}
+ \renewlist{#2}{enumerate}{1}
+ \_@@_end_newenumeration:n {#2}
+}
+%
\NewDocumentEnvironment{hypotheses}{}
{
\begin{hypothesis}
@@ -4434,17 +4692,27 @@ Running "make install" installs the files in the local TeX tree.
}{
\end{assertion}
}
+\NewDocumentEnvironment{conditions}{}
+{
+ \begin{condition}
+ }{
+ \end{condition}
+}
% \end{macrocode}
%
% We borrow the following code provided by Enrico Gregorio (see
% \url{http://tex.stackexchange.com/q/289913/18401}) in order to improve the
-% operators defined with ×\DeclareMathOperator×.
+% operators defined with ×\DeclareMathOperator×. We still provide a starred
+% version of this command for new operators that should have subscripts and
+% superscripts placed in ‘limits’ position above and below.
% \begin{macrocode}
-\RenewDocumentCommand{\DeclareMathOperator}{mm}
+\RenewDocumentCommand{\DeclareMathOperator}{smm}
{
- \NewDocumentCommand{#1}{}
+ \NewDocumentCommand{#2}{}
{
- \operatorname{#2}
+ \IfBooleanTF {#1}
+ {\operatorname*{#3}}
+ {\operatorname{#3}}
\peek_after:Nw \@@_opx_check:
}
}
@@ -4708,7 +4976,7 @@ Running "make install" installs the files in the local TeX tree.
% \begin{macrocode}
\tl_new:N \l_@@_given_tl
\tl_set:Nn \l_@@_given_tl {
- \nonscript\:\delimsize\slash
+ \nonscript\:\delimsize\vert
\allowbreak
\nonscript\:
\mathopen{}
@@ -5497,17 +5765,7 @@ Running "make install" installs the files in the local TeX tree.
% \end{macrocode}
%
% \begin{macrocode}
-\AtBeginDocument{%
- \dim_if_exist:NTF \g_@@_pagegrid_dim {%
- \pagegridsetup{%
- enable,%
- step=\g_@@_pagegrid_dim%
- }
- }{%
- \pagegridsetup{%
- disable%
- }
- }
+\AfterEndPreamble{%
% \end{macrocode}
%
% If the cover production is asked, we automatically load some libraries, make
@@ -5521,7 +5779,7 @@ Running "make install" installs the files in the local TeX tree.
\g_@@_display_inside_backcover_tl
\end{document}
}{
- \tableofcontents
+ \tableofcontents
}
}
% \end{macrocode}
@@ -5779,6 +6037,9 @@ Running "make install" installs the files in the local TeX tree.
\ProvideDictTranslation{assertion}{assertion}
\ProvideDictTranslation{plural-assertion}{assertions}
%
+\ProvideDictTranslation{condition}{condition}
+\ProvideDictTranslation{plural-condition}{conditions}
+%
\ProvideDictTranslation{century}{century}
\ProvideDictTranslation{before-christ}{BC}
%
@@ -5841,6 +6102,9 @@ Running "make install" installs the files in the local TeX tree.
\ProvideDictTranslation{assertion}{assertion}
\ProvideDictTranslation{plural-assertion}{assertions}
%
+\ProvideDictTranslation{condition}{condition}
+\ProvideDictTranslation{plural-condition}{conditions}
+%
\ProvideDictTranslation{century}{si\`{e}cle}
\ProvideDictTranslation{before-christ}{av.~J.-C}
%
@@ -5903,6 +6167,9 @@ Running "make install" installs the files in the local TeX tree.
\ProvideDictTranslation{assertion}{Behauptung}
\ProvideDictTranslation{plural-assertion}{Behauptungen}
%
+\ProvideDictTranslation{condition}{Voraussetzung}
+\ProvideDictTranslation{plural-condition}{Voraussetzungen}
+%
\ProvideDictTranslation{century}{Jhdt}
\ProvideDictTranslation{before-christ}{v.~Chr}
%
@@ -5965,6 +6232,9 @@ Running "make install" installs the files in the local TeX tree.
\ProvideDictTranslation{assertion}{aanname}
\ProvideDictTranslation{plural-assertion}{aannames}
%
+\ProvideDictTranslation{condition}{voorwaarde}
+\ProvideDictTranslation{plural-condition}{voorwaarden}
+%
\ProvideDictTranslation{century}{eeuw}
\ProvideDictTranslation{before-christ}{v.Chr}
%
@@ -6047,8 +6317,7 @@ Running "make install" installs the files in the local TeX tree.
\ProvidesFile{nwejm.bbx}
[2016/04/01 v 0.1 nwejm bibliographic style (DB)]
-\RequireBibliographyStyle{authoryear}
-
+\RequireBibliographyStyle{authoryear-comp}
% \end{macrocode}
%
% We create a name format that prints the initial(s) of the first name(s) before
@@ -6153,6 +6422,13 @@ Running "make install" installs the files in the local TeX tree.
\renewcommand*\bibnamedelimd{\addnbspace}
% \end{macrocode}
%
+% A temporary trick in order to avoid inappropriate capitalization of the
+% initial after periods abbreviating journals (see
+% \url{https://github.com/plk/biblatex/issues/851}).
+% \begin{macrocode}
+\DeclareFieldFormat{journaltitle}{\mkbibemph{#1\isdot}}
+% \end{macrocode}
+%
% \begin{macrocode}
%</bibstyle>
% \end{macrocode}
@@ -6165,7 +6441,7 @@ Running "make install" installs the files in the local TeX tree.
\ProvidesFile{nwejm.cbx}
[2016/04/01 v 0.1 nwejm citation style (DB)]
-\RequireCitationStyle{authoryear}
+\RequireCitationStyle{authoryear-comp}
\ExecuteBibliographyOptions{giveninits,ibidtracker=constrict,pagetracker=page}
@@ -6291,7 +6567,15 @@ Running "make install" installs the files in the local TeX tree.
}
{\usebibmacro{postnote}}%
\DeclareMultiCiteCommand{\nwejmfootcites}[\mkbibfootnote]{\nwejmfootcite}
-{\addsemicolon\space}
+{%
+ \ifcurrentbaselanguage{french}{%
+ \parindent=\parindentFFN%
+ \addtolength{\parindent}{\widthof{\dotFFN\kernFFN}}%
+ }{%
+ \parindent=\footnotemargin%
+ }%
+ \multicitedelim\newline\indent%
+}
% \end{macrocode}
%
% We now declare the definitions for the ×\autocite× and ×\autocites× commands
@@ -6299,18 +6583,37 @@ Running "make install" installs the files in the local TeX tree.
% \begin{macrocode}
\DeclareAutoCiteCommand{nwejmfootcite}{\nwejmfootcite}{\nwejmfootcites}
-\DeclareCiteCommand{\textcite}
- {\boolfalse{cbx:parens}}
- {\usebibmacro{citeindex}%
- \iffirstcitekey
- {\setcounter{textcitetotal}{1}}
+\DeclareCiteCommand{\textcite}[\cbx@textcite@init\cbx@textcite]
+ {\gdef\cbx@savedkeys{}%
+ \citetrackerfalse%
+ \pagetrackerfalse%
+ \DeferNextCitekeyHook%
+ \usebibmacro{cite:init}}
+ {\ifthenelse{\iffirstcitekey\AND\value{multicitetotal}>0}
+ {\protected@xappto\cbx@savedcites{()(\thefield{multipostnote})}%
+ \global\clearfield{multipostnote}}
+ {}%
+ \xappto\cbx@savedkeys{\thefield{entrykey},}%
+ \iffieldequals{namehash}{\cbx@lasthash}
+ {}
{\stepcounter{textcitetotal}%
- \textcitedelim}%
- \iffootnote{\usebibmacro{nwejm:cite}}{\printtext[bibhyperref]{\usebibmacro{textcite}}}}
- {\ifbool{cbx:parens}
- {\bibcloseparen\global\boolfalse{cbx:parens}}
- {}}
- {\usebibmacro{textcite:postnote}}
+ \savefield{namehash}{\cbx@lasthash}}}
+ {}
+ {\protected@xappto\cbx@savedcites{%
+ [\thefield{prenote}][\thefield{postnote}]{\cbx@savedkeys}}}
+
+ % \DeclareCiteCommand{\textcite}
+ % {\boolfalse{cbx:parens}}
+ % {\usebibmacro{citeindex}%
+ % \iffirstcitekey
+ % {\setcounter{textcitetotal}{1}}
+ % {\stepcounter{textcitetotal}%
+ % \textcitedelim}%
+ % \iffootnote{\usebibmacro{nwejm:cite}}{\printtext[bibhyperref]{\usebibmacro{textcite}}}}
+ % {\ifbool{cbx:parens}
+ % {\bibcloseparen\global\boolfalse{cbx:parens}}
+ % {}}
+ % {\usebibmacro{textcite:postnote}}
% \end{macrocode}
%
% \begin{macrocode}