Skip to content

Commit

Permalink
- other package options are passed to glossaries
Browse files Browse the repository at this point in the history
- package error if memoir or setspace is not loaded for singlelineskip
  • Loading branch information
franckgaga committed Aug 2, 2019
1 parent a59febe commit a87e394
Show file tree
Hide file tree
Showing 3 changed files with 87 additions and 12 deletions.
56 changes: 56 additions & 0 deletions glosmathtools.ins
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
%%
%% Copyright (C) 2019 Francis Gagnon
%%
%% This file may be distributed and/or modified under the conditions
%% of the LaTeX Project Public License, either version 1.3c of this
%% license or (at your option) any later version. The latest version
%% of this license is in:
%%
%% http://www.latex-project.org/lppl.txt
%%
%% and version 1.3c or later is part of all distributions of LaTeX
%% version 2006/05/20 or later.
%%

\input docstrip.tex
\keepsilent
\askforoverwritefalse

%\usedir{tex/latex/glosmathtools}

\preamble

This is a generated file.

Copyright (C) 2017 Universite Laval

This file may be distributed and/or modified under the conditions
of the LaTeX Project Public License, either version 1.3c of this
license or (at your option) any later version. The latest version
of this license is in:

http://www.latex-project.org/lppl.txt

and version 1.3c or later is part of all distributions of LaTeX
version 2006/05/20 or later.

\endpreamble

\generate{\file{glosmathtools.sty}{\from{glosmathtools.dtx}{glosmathtools}}}

\obeyspaces
\Msg{****************************************************}
\Msg{* *}
\Msg{* To finish the installation you have to move the *}
\Msg{* following file into a directory searched by TeX: *}
\Msg{* *}
\Msg{* glosmathtools.sty *}
\Msg{* *}
\Msg{* To produce the documentation run the file *}
\Msg{* glosmathtools.dtx through LaTeX. *}
\Msg{* *}
\Msg{* Happy TeXing! *}
\Msg{* *}
\Msg{****************************************************}

\endbatchfile
24 changes: 16 additions & 8 deletions glosmathtools.sty
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,11 @@
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{glosmathtools}%
[%
2019/08/01 v0.5 %
2019/08/02 v0.5.1 %
Mathematical nomenclature tools based on glossaries package %
Francis Gagnon %
]%
\RequirePackage{amsmath,amsfonts,etoolbox}%
% noredefwarn to supress warnings with memoir class redifintion :
\RequirePackage[noredefwarn]{glossaries}%

% ===========================================================================
% =================== PACKAGE OPTIONS =======================================
Expand All @@ -21,20 +19,30 @@ Francis Gagnon %
\mathchardef\qtmark=\mathcode`"\AtBeginDocument{\mathcode`"=\string"8000}%
}%

% single lineskip nomenclature (memoir/linespace package required)
% single lineskip nomenclature (memoir/setspace package required)
\newtoggle{glosmath@singlelineskip}%
\DeclareOption{singlelineskip}{\toggletrue{glosmath@singlelineskip}}%

%% using opperators/accents without nomenclature definitions
\newtoggle{glosmath@nodefop}%
\DeclareOption{nodefop}{\toggletrue{glosmath@nodefop}}%

%% unknown options
\DeclareOption*{%
\PackageWarning{glosmathtools}{Unknown option '\CurrentOption'}%
}%
%% other options are passed to glossaires package
\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{glossaries}}%

\ProcessOptions\relax%
% noredefwarn to supress warnings with memoir class redifintion
\RequirePackage[noredefwarn]{glossaries}%

\iftoggle{glosmath@singlelineskip}{%
\@ifclassloaded{memoir}{\relax}{%
\@ifpackageloaded{setspace}{\relax}{%
\PackageError{glosmathtools}%
{memoir class ot setspace package must be %
loaded for singlelineskip option}{}%
}%
}%
}%

% ===========================================================================
% =================== PUBLIC MACROS =========================================
Expand Down
19 changes: 15 additions & 4 deletions sample_glosmathtools.tex
Original file line number Diff line number Diff line change
Expand Up @@ -49,9 +49,20 @@ \section{Compilation}
\end{itemize}
Sous Windows avec MiKTeX, il est possible que le script \texttt{makeglossaries} nécessite une installation de Perl (voir \url{https://tinyurl.com/ybnoyqjp}). Une fois Perl installé, il faut exécuter le script \texttt{perltex.exe} disponible dans le répertoire d'installation de MiKTeX.

\section{Symboles, indices et accentuations}
\section{Options du package}
Les options du package \texttt{glosmathtools} se résument par :
\begin{description}
\item[qtmarkupright] caractère \texttt{<">} raccourci pour indice sans italique
\item[singlelineskip] force interligne simple pour la nomenclature
\item[nodefop] utilisation des opérateurs et accents sans définition
\item[{[autres options]}] passés au package \texttt{glossaries}
\end{description}
De plus amples informations sont fournies ci-dessous.
\section{Utilisation du package}
\subsection{Symboles, indices et accentuations}
L'insertion d'un symbole mathématique simple avec hyperlien se fait avec la macro \texttt{\textbackslash gls} de glossaries : \gls{k}, \gls{mat.A} et \gls{mat.b}. C'est la même chose pour les abréviations : le \gls{LOOP}. Les abréviations sont uniquement définies à leur première utilisation : le \gls{LOOP}.
L'insertion d'un symbole mathématique simple avec hyperlien se fait avec la macro \texttt{\textbackslash gls} de \texttt{glossaries} : \gls{k}, \gls{mat.A} et \gls{mat.b}. C'est la même chose pour les abréviations : le \gls{LOOP}. Les abréviations sont uniquement définies à leur première utilisation : le \gls{LOOP}.
Les indices doivent être définis avec un label du format \texttt{sub.resteDuLabel}: l'indice \gls{sub.a} désigne l'air. La macro \texttt{\textbackslash glsub} permet d'ajouter un indice à une variable : \glsub{d}{v}, \glsub{z}{v}, \glsub{T}{v}, \glsub{D}{a}, \glsub{rho}{w} et \glsub{mu}{v}. En définissant les symboles mathématiques avec \texttt{\textbackslash newglosentrymath}, toutes les macros peuvent s'utiliser autant en mode \texttt{text} qu'en mode \texttt{math} (avec \texttt{\$\$}). Par contre, il est mieux d'écrire explicitement les symboles dans une équation afin d'alléger le code (pas d'hyperlien):
\begin{equation}
Expand All @@ -72,7 +83,7 @@ \section{Symboles, indices et accentuations}
\end{description}
De plus, un argument optionnel permet d'ajouter des accents à toutes les macros précédentes : \glsub[bar]{T}{v} et \glsubs[dot]{m}{v}{a}. Il y a deux arguments optionnels dans le cas de \texttt{\textbackslash glsvi} : \glsvi[dot]{m}{k}, \glsvi[][dot]{k}{m} et \glsvi[bar][dot]{T}{m}. Finalement, il est possible d'utiliser les accents sans définition dans la nomenclature avec l'option \texttt{nodefop}.
\section{Langue, abréviations et nomenclature}
\subsection{Langue, abréviations et nomenclature}
S'il y a des changements de langues à travers le document, il faut changer de langue pour les acronymes. La clé \texttt{descseclang} doit être préalablement définie dans le glossaire. Par la suite, la macro \texttt{\textbackslash setacronymlang} permet de choisir 4 options de langue:
\begin{description}
Expand All @@ -92,7 +103,7 @@ \section{Langue, abréviations et nomenclature}
\item[nomencl-L1L2] descriptions bilingues, langue principale (\textit{langue seconde})
\item[nomencl-L2L1] descriptions bilingues, langue seconde (\textit{langue principale})
\end{description}
L'option \texttt{singlespaceglos} du package permet de forcer un interligne simple pour la nomenclature (nécessite \texttt{ulthese}/\texttt{memoir} ou le package \texttt{linespace}). La macro \texttt{\textbackslash glscatnamefmt} peut être redéfinie au préambule afin de modifier le style de l'en-tête des catégories. L'exemple de la page ii est une nomenclature bilingue \textbf{nomencl-L2L1} en interligne simple.
L'option \texttt{singlespaceglos} du package permet de forcer un interligne simple pour la nomenclature (nécessite \texttt{ulthese}/\texttt{memoir} ou le package \texttt{setspace}). La macro \texttt{\textbackslash glscatnamefmt} peut être redéfinie au préambule afin de modifier le style de l'en-tête des catégories. L'exemple de la page ii est une nomenclature bilingue \textbf{nomencl-L2L1} en interligne simple.
Si défini, le contenu de la clé \texttt{symbol} est ajouté a la fin de la description (pour les unités ou dimensions). À noter que les symboles mathématiques ne sont pas enregistrés dans cette clé, mais bien dans la clé \texttt{name}.
Expand Down

0 comments on commit a87e394

Please sign in to comment.