diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/nwejm/nwejm.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/nwejm/nwejm.dtx | 220 |
1 files changed, 157 insertions, 63 deletions
diff --git a/Master/texmf-dist/source/latex/nwejm/nwejm.dtx b/Master/texmf-dist/source/latex/nwejm/nwejm.dtx index 0f66d98b509..605472aec3a 100644 --- a/Master/texmf-dist/source/latex/nwejm/nwejm.dtx +++ b/Master/texmf-dist/source/latex/nwejm/nwejm.dtx @@ -37,7 +37,7 @@ documenting the classes I've written. \input l3docstrip.tex \Msg{********************************************************} \Msg{* Installation} -\Msg{* Class: nwejm 2016/04/14 v0.96} +\Msg{* Class: nwejm 2016/06/10 v0.97} \Msg{* for the journal} \Msg{* "North-Western European Journal of Mathematics" (DB)} \Msg{********************************************************} @@ -159,7 +159,10 @@ Running "make install" installs the files in the local TeX tree. % %\maketitle % -%\changes{v0.96}{2016/04/14}{Some improvements. Incompatible changes: big sets +% \changes{v0.97}{2016/06/10}{\Package{xy} declared incompatible with the +% current bundle. Instructions to authors added. Sections in appendices are +% lettered. The page numbers of standalone articles/issue are synchronized.}% +% \changes{v0.96}{2016/04/14}{Some improvements. Incompatible changes: big sets % macros prefixed with ×bb×, e.g. ×\bbR× instead of ×\R×.} % \changes{v0.92}{2015/12/10}{First usable release} % \changes{v0.9}{2015/09/30}{First public release} @@ -265,6 +268,9 @@ Running "make install" installs the files in the local TeX tree. \msg_new:nnnn{nwejm}{Issue~number~needed}{Option~`#1'~needed!} {Please~specify~`#1=<number>', ~otherwise~`<number>'~will~be~set~to ~`\int_use:N\c_@@_first_issue_number_int'.}% +\msg_new:nnn{nwejm}{Wrong~main~file~name!}{The~ main~ file~ should~ be~ named~ + `\tl_use:N\c_@@_main_file_name_tl.tex',~ not~ `\jobname.tex'.~ Please~ rename~ + the~ current~ file~ accordingly.}% \msg_new:nnnn{nwejmart}{Unknown~choice}{Choice~`#3'~invalid!} {Please~specify~#1=#2.}% \msg_new:nnn{nwejmart}{Unknown~tag}{There~ isn't~ any~ affiliation~ tagged~ @@ -279,7 +285,8 @@ Running "make install" installs the files in the local TeX tree. \msg_new:nnn{nwejmart}{No~abstract}{You~ haven't~ specify~ any~ abstract~ for~ this~ article!}% \msg_new:nnn{nwejmart}{Starred~AMS~environments}{The~ starred~AMS~environment~ - `#1*'~should~ be~ avoided.~ It~ will ~be ~ replaced ~ by its~ unstarred~ counterpart~ `#1'.}% + `#1*'~should~ be~ avoided.~ It~ will ~be ~ replaced ~ by its~ unstarred~ + counterpart~ `#1'.}% \msg_new:nnn{ %<class-article> nwejmart %<class> nwejm @@ -289,6 +296,12 @@ Running "make install" installs the files in the local TeX tree. concerning~ the~ option~ `#1'~ has~ changed~ after~ its~ 1st~ use.~ Please~ use~ \articlesetup~ command~ just~ once,~ just~ after~ the~ beginning~ of~ the~ document.}% +\msg_new:nnn{ +%<class-article> nwejmart +%<class> nwejm +}{`xy'~package~not~allowed!}{The~ `xy'~ package~ is~ not~ allowed~ with~ the~ + `nwejm'~ LaTeX~ classes.~ Please~ use~ instead~ the~ user-friendly~ and~ + modern~ `tikz-cd'~ package.}% \msg_new:nnn{nwejmart}{Wrong~paired~delimiter's~size~parameter}{The~ size~parameter~specified~ (`#1')~is~ not~ allowed:~ only~ `0',~`1'~(or~ `\string\big'),~`2'~(or~ `\string\Big'),~`3'~(or~ `\string\big'g)~and~`4'~(or~ @@ -542,21 +555,25 @@ Running "make install" installs the files in the local TeX tree. \RequirePackage[l2tabu,orthodox]{nag} % \end{macrocode} % -% \item In case of \hologo{pdfTeX} engine, we enforce \pkg{fontenc} to be loaded -% with its \docAuxKey*{T1} option (usual for French and English documents) and -% \pkg{inputenc} to be loaded with its \docAuxKey*{utf8} option. Otherwise -% \pkg{fontspec}, convenient for both \hologo{XeLaTeX} and \hologo{LuaLaTeX}, -% is loaded, with ligatures à la \TeX{} by default enabled. +% \item In case of \hologo{pdfTeX} engine, we enforce \pkg{inputenc} to be +% loaded with its \docAuxKey*{utf8} option. Otherwise \pkg{fontspec}, +% convenient for both \hologo{XeLaTeX} and \hologo{LuaLaTeX}, is loaded with +% ligatures à la \TeX{} by default enabled. % \begin{macrocode} \pdftex_if_engine:TF { - \RequirePackage[T1]{fontenc} \RequirePackage[utf8]{inputenc} }{ \RequirePackage{fontspec} + \DeclareTextCommandDefault{\nobreakspace}{\leavevmode\nobreak\ } } % \end{macrocode} % +% \item Standard package for selecting font encodings: +% \begin{macrocode} +\RequirePackage[T1]{fontenc} +% \end{macrocode} +% % \item Compile \TeX{} pictures stand-alone or as part of a document: % \begin{macrocode} %<class>\RequirePackage[group=false,subpreambles,sort]{standalone}% @@ -596,6 +613,16 @@ Running "make install" installs the files in the local TeX tree. %<class>\RequirePackage{zref-totpages} % \end{macrocode} % +% \item References to other \LaTeX{} documents: +% \begin{macrocode} +\RequirePackage{xr} +% \end{macrocode} +% +% \item Provide file name and path of input files: +% \begin{macrocode} +\RequirePackage{currfile} +% \end{macrocode} +% % \item A new reference scheme for \LaTeX{}, providing the facilities of the % \package{xr} and \package{xr-hyper} packages: % \begin{macrocode} @@ -745,6 +772,12 @@ Running "make install" installs the files in the local TeX tree. \RequirePackage{footnote}% % \end{macrocode} % +% \item Programmable bibliographies and citations (loaded with a dedicated style): +% \begin{macrocode} +\RequirePackage[backend=biber,style=nwejm]{biblatex}% +\ExecuteBibliographyOptions{defernumbers=true,dashed=false,uniquename=init,backref,safeinputenc} +% \end{macrocode} +% % \item Hypertext marks: % \begin{macrocode} \RequirePackage[hyperfootnotes=false,pdfencoding=unicode]{hyperref}% @@ -778,12 +811,6 @@ Running "make install" installs the files in the local TeX tree. \RequirePackage{autonum} % \end{macrocode} % -% \item Programmable bibliographies and citations (loaded with a dedicated style): -% \begin{macrocode} -\RequirePackage[backend=biber,style=nwejm]{biblatex}% -\ExecuteBibliographyOptions{defernumbers=true,dashed=false,uniquename=init,backref,safeinputenc} -% \end{macrocode} -% % \end{enumerate} % % Setings of the glossaries and acronyms. @@ -924,11 +951,6 @@ Running "make install" installs the files in the local TeX tree. \tl_const:Nn \c_@@_issue_backcover_text_file_string_tl {backcover} \tl_const:Nn \c_@@_backcover_page_file_string_tl {\c_@@_backmatter_directory_string_tl/\c_@@_issue_backcover_text_file_string_tl} % \end{macrocode} -% For authors' instructions file. -% \begin{macrocode} -\tl_const:Nn \c_@@_authors_instructions_file_extension_tl {ain} -\tl_const:Nn \c_@@_authors_instructions_file_tl {\c_job_name_tl.\c_@@_authors_instructions_file_extension_tl} -% \end{macrocode} % For the authors instructions. % \begin{macrocode} \tl_const:Nn \c_@@_authors_instructions_string_tl {Instructions~to~authors} @@ -942,6 +964,10 @@ Running "make install" installs the files in the local TeX tree. %<*class|class-article> % \end{macrocode} % +% For the main file name. +% \begin{macrocode} +\tl_const:Nn \c_@@_main_file_name_tl {issue} +% \end{macrocode} % For the dates keywords. % \begin{macrocode} \tl_const:Nn \c_@@_date_received_tl {received} @@ -1499,7 +1525,7 @@ Running "make install" installs the files in the local TeX tree. % \begin{macrocode} \cleardoublepage \pagenumbering{roman}% - \setcounter{page}{3} + \setcounter{page}{\c_three} % \end{macrocode} % % On the backcover, we want the table of contents (displayed as a chapter, @@ -2413,36 +2439,31 @@ Running "make install" installs the files in the local TeX tree. \bool_if:NTF {\g_@@_no_inside_backcover_bool} { \hbox{} }{% - \small% - \file_if_exist:nT { \c_@@_authors_instructions_file_tl } {% - % \begin{multicols}{2} - % \setlength{\columnsep}{1mm} - \file_input:n {\c_@@_authors_instructions_file_tl} - % \end{multicols} - % \setlength{\columnseprule}{1pt} - } + % \small% \begin{description}[leftmargin=1em] - \item[\c_@@_editorial_secretariat_string_tl{}~:] \ \par% + \item[\c_@@_authors_instructions_string_tl{}:] \ + \g_@@_authors_instructions_tl + \item[\c_@@_editorial_secretariat_string_tl{}:] \ \par% % \l_@@_journal_publisher_tl% % \par% % \space\textendash{}\space% \@@_display_people_by_role:n { secretary }\par \l_@@_journal_address_tl\par% - \c_@@_phone_string_tl{}~:~\l_@@_journal_phone_tl{}\par% + \c_@@_phone_string_tl{}:~\l_@@_journal_phone_tl{}\par% \_@@_email:n {\l_@@_journal_email_tl} \newline% % \space\textendash{}\space \url{\l_@@_journal_url_tl} - \item[\c_@@_issn_string_tl{}~:] \l_@@_journal_issn_tl + \item[\c_@@_issn_string_tl{}:] \l_@@_journal_issn_tl \tl_if_empty:NF \l_@@_journal_isbn_tl {% - \item[\c_@@_isbn_string_tl{}~:] \l_@@_journal_isbn_tl + \item[\c_@@_isbn_string_tl{}:] \l_@@_journal_isbn_tl } - \item[\c_@@_latexclass_string_tl{}~:] + \item[\c_@@_latexclass_string_tl{}:] \@@_display_people_by_role:n { classdesigner } - \item[\c_@@_computer_engineering_string_tl{}~:] %\g_@@_printer_text_tl + \item[\c_@@_computer_engineering_string_tl{}:] %\g_@@_printer_text_tl \@@_display_people_by_role:n { computerengineer } - \item[\c_@@_printer_string_tl{}~:] %\g_@@_printer_text_tl + \item[\c_@@_printer_string_tl{}:] %\g_@@_printer_text_tl \@@_display_people_by_role:n { printingservice } \end{description} \g_@@_font_designer_text_tl @@ -2584,6 +2605,25 @@ Running "make install" installs the files in the local TeX tree. % \end{macro} % \end{macro} % +% \section{Page numbers' synchronization of standalone articles/issue} +% +% The machinery for page numbers' synchronization of standalone articles/issue +% needs the main file name to be fixed (chosen name: \enquote{issue}). If that's +% not the case an error is thrown. +% \begin{macrocode} +%<class>\tl_new:N \l_@@_jobname_tl +%<class>\tl_set:Nn \l_@@_jobname_tl {\jobname} +%<class>\str_if_eq_x:nnF \l_@@_jobname_tl \c_@@_main_file_name_tl { \msg_error:nn{nwejm}{Wrong~main~file~name!} } +% \end{macrocode} +% +% \begin{macrocode} +%<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>} +% \end{macrocode} +% % \section{User level commands} % % Here, we gather all the user level (public) commands. @@ -2759,8 +2799,8 @@ Running "make install" installs the files in the local TeX tree. % \subsection{Journal setup} % % \begin{macro}{\journalsetup} -% We define the command that lets the user specify the -% journal setup. This setup is likely to be rarely changed. +% We define the command that lets us specify the journal setup. This setup is +% likely to be rarely changed. % \begin{macrocode} \NewDocumentCommand \journalsetup { m } { % \end{macrocode} @@ -2771,6 +2811,19 @@ Running "make install" installs the files in the local TeX tree. \keys_set:nn { nwejm/journalsetup } { #1 } } % \end{macrocode} +% +% \begin{macro}{\authorsinstructions} +% We define the command that lets us specify the instructions to authors. This +% setup is likely to be rarely changed. +% \begin{macrocode} +\tl_new:N \g_@@_authors_instructions_tl +\NewDocumentCommand \authorsinstructions { +m } { + \IfNoValueF {#1} + { + \tl_gset:Nn \g_@@_authors_instructions_tl {#1} + } +} +% \end{macrocode} % \end{macro} % % \subsection{\Pkg{Varioref}} @@ -3434,6 +3487,7 @@ Running "make install" installs the files in the local TeX tree. } \\[-4ex] } +\label{\currfilebase} \bool_gset_false:N \g_@@_date_specified_bool \bookmarksetup{depth=subsection} \setsecnumdepth{subsection} @@ -3531,6 +3585,13 @@ Running "make install" installs the files in the local TeX tree. } % \end{macrocode} % +% Both classes are based on ×book× class hence ×\appendix× makes only chapters +% to be lettered but, in case of a single article, only ×\section× and below are +% used, so ×\appendix× should make the latter lettered. +% \begin{macrocode} +\apptocmd{\appendix}{\renewcommand{\thesection}{\Alph{section}}}{}{} +% \end{macrocode} +% % \subsection{Redefinition of heading commands} % % We redefine the heading commands (×\section× and ×\subsection×, not below as @@ -4582,7 +4643,7 @@ Running "make install" installs the files in the local TeX tree. % \begin{macrocode} \bool_if:NF \g_@@_nolocaltoc_bool { \newpage - \setcounter{page}{0} + \setcounter{page}{\c_zero} \pagenumbering{roman}% \etocarticlestylenomarks % \end{macrocode} @@ -4725,26 +4786,11 @@ Running "make install" installs the files in the local TeX tree. disable% } } - \bool_if:NTF {\g_@@_for_authors_bool} { - \thispagestyle{empty} - \includegraphics{gzt-logo} - \hfill - \includegraphics[height=22.5mm]{\c_@@_smf_logo_file_string_tl}% - \par - \vfill - \begin{adjustbox}{valign=c,minipage=\linewidth} - \Large% - \c_@@_preliminary_version_string_tl% - \end{adjustbox} - \vfill - \newpage - }{ - \bool_if:NF {\g_@@_inside_pages_bool} { - \g_@@_display_frontcover_tl - \g_@@_display_inside_frontcover_tl - } - \tableofcontents + \bool_if:NF {\g_@@_inside_pages_bool} { + \g_@@_display_frontcover_tl + \g_@@_display_inside_frontcover_tl } + \tableofcontents } % \end{macrocode} % @@ -4766,6 +4812,21 @@ Running "make install" installs the files in the local TeX tree. } % \end{macrocode} % +% \Pkg{xy} performs category code changes of ×@× ×\AtBeginDocument× and this +% cause troubles (see \url{tex.stackexchange.com/q/303238/18401}). Hence, we +% prohibit it. +% \begin{macrocode} +\AtEndPreamble{% + \@ifpackageloaded{xy}{% + \msg_error:nn{ +%<class-article> nwejmart +%<class> nwejm + }{`xy'~package~not~allowed!} + }{ + } +} +% \end{macrocode} +% % We now leave the \LaTeX3{} programming environment. % \begin{macrocode} \ExplSyntaxOff @@ -4901,7 +4962,8 @@ Running "make install" installs the files in the local TeX tree. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Font designer text %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\fontdesignertext{We make use of the set of fonts \href{http://ctan.org/pkg/kpfonts}{Kp-Fonts}, designed by Christophe Caignaert.} +\fontdesignertext{We make use of \href{http://ctan.org/pkg/kpfonts}{Kp-Fonts}, + the set of fonts designed by Christophe Caignaert.} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Printer text %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -4909,9 +4971,42 @@ Running "make install" installs the files in the local TeX tree. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Authors instructions %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% \begin{authorsinstructions} -% Bla bla bla. -% \end{authorsinstructions} +\authorsinstructions{% + \begin{description} + \item[Articles submission:] Upon submission, the authors have only to provide + a file in the \textsc{pdf} format. Once the paper is accepted or subject to + minor revisions, the authors have to ensure that it agrees with the journal + format. + \item[\LaTeX{} details:]\ + \begin{description} + \item[\LaTeX{} class:] We strongly encourage the authors to prepare their + article to appear in the \href{\l_@@_journal_url_tl}{\nwejm} journal with + the dedicated \href{http://ctan.org/pkg/nwejm}{\textsf{nwejmart}} \LaTeX{} + class (currently, + \href{http://mirrors.ctan.org/macros/latex/contrib/nwejm/doc/documentation/nwejm.pdf}{documented + only in French}), available with \textsf{MiKTeX} and \textsf{TeX~Live} + distributions. + \item[Incompatibilities:]\ + \begin{itemize} + \item Our production system is \emph{not} compatible with the + \href{http://ctan.org/pkg/xypic}{\textsf{xypic} bundle}. For commutative + diagramms, please use instead the user-friendly and modern + \href{http://ctan.org/pkg/xypic}{\textsf{tikz-cd}} package. + \item We much more prefer graphics \emph{not} created with + \href{http://ctan.org/topic/pstricks}{\textsf{PSTricks} and + derived}. Consider using + \href{http://ctan.org/pkg/pgf}{\textsf{PGF/TikZ}} or + \href{http://ctan.org/topic/pgf-tikz}{derived packages}. + \end{itemize} + In case you really need one of these packages, please contact us. + \item[Bibliography:] The bibliography must be provided as a \texttt{.bib} + file in the format of the + \href{http://ctan.org/pkg/biblatex}{\textsf{biblatex}} package. + \item[Figures:] The figures must be provided in \textsc{pdf} or \textsc{eps} + formats. + \end{description} + \end{description} +} % \end{macrocode} % % \begin{macrocode} @@ -5768,6 +5863,5 @@ dutch % Local Variables: % mode: doctex % ispell-local-dictionary: "english" -% TeX-command-default: "TeX" % TeX-master: t % End: |