diff options
author | Karl Berry <karl@freefriends.org> | 2019-03-18 21:15:59 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2019-03-18 21:15:59 +0000 |
commit | fdcf5fd90a27314abf7b130fd1e7a7bba0a3fa6a (patch) | |
tree | b2711f87e663fe265d02234dc9ddd249248d82bd /Master/texmf-dist/source/latex | |
parent | dcb548e4ca7fc878c5f6d741fddc8b53dc52af38 (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.dtx | 475 |
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} |