From 101395e54ec0c670b2308650550de02c7b4ce460 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 6 May 2008 01:01:01 +0000 Subject: modroman update (5may08) git-svn-id: svn://tug.org/texlive/trunk@7881 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/source/latex/modroman/Makefile | 134 +++++++---------- .../texmf-dist/source/latex/modroman/modroman.dtx | 164 ++++++++++++--------- .../texmf-dist/source/latex/modroman/modroman.ins | 21 +-- 3 files changed, 157 insertions(+), 162 deletions(-) (limited to 'Master/texmf-dist/source/latex/modroman') diff --git a/Master/texmf-dist/source/latex/modroman/Makefile b/Master/texmf-dist/source/latex/modroman/Makefile index e05029d36f0..c830cdf1c5e 100644 --- a/Master/texmf-dist/source/latex/modroman/Makefile +++ b/Master/texmf-dist/source/latex/modroman/Makefile @@ -4,32 +4,41 @@ # many thanks to Harald Harders whose kerntest.xml I have also # hacked to obtain my modroman.xml # --------------------------------------------------------------- - -SRCDIR=modroman -INSTALLDIR=`kpsewhich --expand-path='$$TEXMFLOCAL'`/tex/latex/modroman -DOCDIR=`kpsewhich --expand-path='$$TEXMFLOCAL'`/doc/latex/modroman -SOURCEDIR=`kpsewhich --expand-path='$$TEXMFLOCAL'`/source/latex/modroman -VERSION=0.3 +PKGNAME = modroman +VERSION=0-4 # Edition du cinquantenaire TEX= \ - modroman.sty \ + $(PKGNAME).sty \ DOC= \ - modroman.pdf \ - LISEZMOI.txt \ - -ENGLISHDOC= \ - modroman.pdf \ - README.txt \ + $(PKGNAME).pdf \ + LISEZMOI \ + README \ SOURCE= \ Makefile \ - modroman.dtx \ - modroman.ins \ + $(PKGNAME).dtx \ + $(PKGNAME).ins \ + +PRODUITS = \ + $(PKGNAME).sty \ + $(PKGNAME).pdf \ + +DECHETS = \ + $(PKGNAME).glo \ + $(PKGNAME).gls \ + $(PKGNAME).idx \ + $(PKGNAME).ilg \ + $(PKGNAME).ind \ + $(PKGNAME).aux \ + $(PKGNAME).log \ + $(PKGNAME).toc + +REPERTS = \ + doc \ + tex \ + source -CTAN= \ - modroman.xml \ - modroman.tpm \ # --------------------------------------------------------------- @@ -49,34 +58,21 @@ CTAN= \ pdflatex $< pdflatex $< -.dvi.ps: - dvips -o $(*D)/$(*F).ps $(*D)/$(*F) - # --------------------------------------------------------------- -all: modroman.sty modroman.pdf +all: $(PKGNAME).sty $(PKGNAME).pdf help: @-echo "******************************************************" @-echo "*" @-echo "* Choisir une des options :" @-echo "* 'all' -> modroman.sty " - @-echo "* 'doc' ou 'frenchdoc' pour la documentation" - @-echo "* 'englishdoc' for the English documentation" + @-echo "* 'doc' pour la documentation" + @-echo "* 'doc' for the documentation" @-echo "* 'sty' -> modroman.sty " - @-echo "* 'dist'-> modroman.sty & frenchdoc & englishdoc" + @-echo "* 'dist'-> modroman.sty & doc" @-echo "* 'clean' petit nettoyage" @-echo "* 'distclean' (encore plus propre)" - @-echo "* 'tar' -> modroman-VERSION.tar.gz" - @-echo "* 'install' pour l'installation" - @-echo "* OR 'install-english' for an installation" - @-echo "* with the English version of the documentation" - @-echo "************ NOTA BENE ***********" - @-echo "*" - @-echo "* l'installation est faite par defaut dans TEXMFLOCAL " - @-echo "* by default installs in TEXMFLOCAL" - @-echo "* c'est a dire that is : " - @-echo "* " `kpsewhich --expand-path='$$TEXMFLOCAL'` @-echo "*" @-echo "******************************************************" @@ -85,63 +81,41 @@ dist: all clean # --------------------------------------------------------------- clean: - @-rm -f modroman.glo modroman.gls modroman.idx modroman.ilg - @-rm -f modroman.ind modroman.aux modroman.log modroman.toc + @-rm -f $(DECHETS) @-rm -f *~ distclean: clean - @-rm -f modroman.sty - @-rm -f modroman.pdf - -# --------------------------------------------------------------- - -tar: dist - @-echo modroman-$(VERSION).tar.gz - @-rm -f modroman-$(VERSION).tar.gz - tar czCf .. modroman-$(VERSION).tar.gz \ - $(SRCDIR)/README.txt \ - $(SRCDIR)/LISEZMOI.txt \ - $(SRCDIR)/Makefile \ - $(SRCDIR)/modroman.dtx \ - $(SRCDIR)/modroman.ins \ - $(SRCDIR)/modroman.pdf \ - $(SRCDIR)/modroman.xml \ - $(SRCDIR)/modroman.tpm \ + @-rm -f $(PRODUITS) # --------------------------------------------------------------- texlive: all clean - @-rm -rf texmf - mkdir -p texmf/tex/latex/modroman - mkdir -p texmf/doc/latex/modroman - mkdir -p texmf/source/latex/modroman - cp $(TEX) texmf/tex/latex/modroman - cp $(DOC) texmf/doc/latex/modroman - cp $(SOURCE) texmf/source/latex/modroman + @-rm -rf $(REPERTS) + @-mkdir -p tex/latex/$(PKGNAME) + @-mkdir -p doc/latex/$(PKGNAME) + @-mkdir -p source/latex/$(PKGNAME) + @-cp $(TEX) tex/latex/$(PKGNAME) + @-cp $(DOC) doc/latex/$(PKGNAME) + @-cp $(SOURCE) source/latex/$(PKGNAME) + @-mkdir -p $(PKGNAME) + @-cp $(DOC) ./$(PKGNAME) + @-cp $(SOURCE) ./$(PKGNAME) # --------------------------------------------------------------- zip: texlive - -@rm -f modroman-$(VERSION).zip - zip -r modroman-$(VERSION).zip texmf - @-rm -r texmf/ - -# --------------------------------------------------------------- - -install: all doc - if [ ! -d $(INSTALLDIR) ]; then mkdir -p $(INSTALLDIR); fi - if [ ! -d $(DOCDIR) ]; then mkdir -p $(DOCDIR); fi - if [ ! -d $(SOURCEDIR) ]; then mkdir -p $(SOURCEDIR); fi - install -m644 $(TEX) $(INSTALLDIR) - install -m644 $(DOC) $(DOCDIR) - install -m644 $(SOURCE) $(SOURCEDIR) - texhash + @-rm -f $(PKGNAME).zip + @-zip -r $(PKGNAME) $(REPERTS) + @-rm -rf $(REPERTS) + @mv $(PKGNAME).zip $(PKGNAME).tds.zip + @zip -r $(PKGNAME) $(PKGNAME) + @zip -r $(PKGNAME) $(PKGNAME).tds.zip + @-rm -rf $(PKGNAME) + @-rm -f $(PKGNAME).tds.zip # --------------------------------------------------------------- -modroman.sty: modroman.ins modroman.dtx -doc: modroman.ins modroman.pdf -englishdoc: modroman.ins modroman.pdf -frenchdoc: doc +$(PKGNAME).sty: $(PKGNAME).ins $(PKGNAME).dtx +doc: $(PKGNAME).ins $(PKGNAME).pdf # --------------------------------------------------------------- # echu e an abaden -# Le \TeX nicien de surface 2004-05-19 +# Le \TeX nicien de surface 2008-05-04 diff --git a/Master/texmf-dist/source/latex/modroman/modroman.dtx b/Master/texmf-dist/source/latex/modroman/modroman.dtx index ea8bc3a3295..70952fdeb01 100644 --- a/Master/texmf-dist/source/latex/modroman/modroman.dtx +++ b/Master/texmf-dist/source/latex/modroman/modroman.dtx @@ -1,7 +1,9 @@ % \iffalse meta-comment % -% Copyright (C) 2003 by Yvon Henel -% -------------------------------------------------------- +% Copyright (C) 2003, 2004, 2008 by Yvon Henel, +% dit « le TeXnicien de surface » +% +% -------------------------------------------------------------- % % This file may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either version 1.2 @@ -17,8 +19,8 @@ % % \iffalse %\NeedsTeXFormat{LaTeX2e}[1999/12/01] -%\def\fileversion{v0.3} -%\def\filedate{2004/05/19} +%\def\fileversion{v0.4} +%\def\filedate{2008/05/03} %\def\fileinfo{fichier modroman.dtx par Le TeXnicien de surface} %\ProvidesPackage{modroman} % [\filedate\space\fileversion\space\fileinfo] @@ -26,19 +28,20 @@ %<*driver> \documentclass{ltxdoc} \usepackage{xspace,url,multicol} -\usepackage{modroman} +\usepackage{modroman}[2008/05/03] \usepackage[latin1]{inputenc} \usepackage[T1]{fontenc} \usepackage[english,frenchb]{babel} \IfFileExists{lmodern.sty}{\usepackage{lmodern}}{}% -% commentez la ligne suivante pour avoir un document avec le code +% commenter la ligne suivante pour avoir un document avec le code \OnlyDescription % comment out the preceding line to obtain the full code % with explanations in French only, sorry. \EnableCrossrefs \CodelineIndex \RecordChanges -\GlossaryPrologue{\section*{{Changements}}\markboth{{Changements}}{{Changements}}} +\GlossaryPrologue{% + \section*{{Changements}}\markboth{{Changements}}{{Changements}}} \IndexPrologue{\section*{Index}\markboth{Index}{Index}% Les nombres en italique renvoient à la page où l'entrée est décrite ; les nombres soulignés renvoient à la ligne de code de la définition ; les @@ -47,14 +50,15 @@ \def\generalname{Général} \setlength{\columnseprule}{0.5pt} \setlength{\multicolsep}{6pt plus 2.0pt minus 1.5pt} -\newenvironment{EnAnglais}{\columnbreak\mbox{}\par\begin{otherlanguage}{english}}{\end{otherlanguage}} +\newenvironment{EnAnglais}{\columnbreak\mbox{} + \par\begin{otherlanguage}{english}}{\end{otherlanguage}} \begin{document} \DocInput{modroman.dtx} \end{document} % % \fi % -% \CheckSum{113} +% \CheckSum{101} % % \CharacterTable % {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z @@ -77,6 +81,9 @@ % \changes{v0.2}{2004/02/11}{Ajout des options upourv et vpourv} % \changes{v0.3}{2004/05/18}{Quelques actions cosmétiques sur la documentation} % \changes{v0.3}{2004/05/18}{Attirail pour *nix et CTAN.} +% \changes{v0.4}{2008/05/03}{Je me débarrasse des \cs{if}s.} +% \changes{v0.4}{2008/05/03}{Protection par \cs{@ifdefinable} des \cs{def}.} +% \changes{v0.4}{2008/05/03}{J'introduis \cs{modrom@actuelV}.} %\iffalse %<*eng> \changes{v0.1}{2003/04/20}{Initial version} @@ -84,15 +91,19 @@ \changes{v0.3}{2004/05/18}{Some cosmetic actions on the doc.} \changes{v0.3}{2004/05/18}{Provides CTAN-ware and *nix tool.} \changes{v0.3}{2004/05/18}{Bug corrected: 101 is at last written cj.} +\changes{v0.4}{2008/05/03}{Get rid of the \cs{if}s.} +\changes{v0.4}{2008/05/03}{Creation of \cs{modrom@actuelV}.} % %\fi % \GetFileInfo{modroman.sty} % % \DoNotIndex{\newcommand,\newenvironment,\fi,\ ,{}} % -% \title{Le module \textsf{modroman}\thanks{Ce document -% correspond au fichier \textsf{modroman}~\fileversion, du \filedate.}} -% \author{Le \TeX nicien de surface\\ \url{Yvon.Henel@wanadoo.fr}} +% \title{Le module \textsf{modroman}\thanks{ +% Ce document correspond au fichier +% \textsf{modroman}~\fileversion, du \filedate\ +% et en est l'édition du cinquantenaire.}} +% \author{Le \TeX nicien de surface\\ \url{Yvon.Henel@orange.fr}} % % \maketitle % @@ -227,6 +238,7 @@ % Masson, Paris, Milan, Barcelone, \oldstylenums{1995}. % \textsc{isbn} : \texttt{2-225-84832-7}. % \end{thebibliography} +% % \StopEventually{} % % \section{Le code} @@ -237,90 +249,110 @@ % Les erreurs que l'on pourrait trouver dans ce fichier sont entièrement % de moi. % -% On déclare un nouveau \cs{if} et les deux options, on sélectionne l'option -% |vpourv| par défaut, on charge les options. +% On définit les deux options, on sélectionne l'option |vpourv| par défaut, on +% charge les options. +% % \begin{macrocode} -\newif\if@upourv -\DeclareOption{upourv}{\@upourvtrue} -\DeclareOption{vpourv}{\@upourvfalse} -\DeclareOption{defaut}{\@upourvfalse} -\ExecuteOptions{defaut} +\DeclareOption{vpourv}{% +% \end{macrocode} +% \begin{macro}{\modrom@actuelV} Cette macro contient la forme effective du +% chiffre romain V: ce sera |u| avec l'option |upourv| et |v| avec |vpourv|, +% l'option par défaut. Dans le 2\ieme \cs{DeclareOption}, qui définit l'option +% |upourv|, la macro \cs{modrom@actuelV} étant déjà définie lors du traitement +% de l'option par défaut, \emph{via} |\ExecuteOptions{vpourv}|, on ne contrôle +% pas la \cs{def} avec \cs{@ifdefinable}, sinon on a une erreur systématique! +% \begin{macrocode} + \@ifdefinable\modrom@actuelV{\def\modrom@actuelV{v}} +} +% \end{macrocode} +% \end{macro} +% \begin{macrocode} +\DeclareOption{upourv}{\def\modrom@actuelV{u}} +\ExecuteOptions{vpourv} \ProcessOptions\relax % \end{macrocode} -% \begin{macro}{\modromannumeral} -% La première macro, dans le style \TeX, que je décris ci-dessous. -% -% On commence par créer un nouveau compteur \cs{romt@mp}. +% \begin{macro}{\romt@mp} +% On commence par créer un nouveau compteur \cs{romt@mp} à la mode \TeX, en +% s'assurant que c'est possible. % \begin{macrocode} -\newcount\romt@mp +\@ifdefinable\romt@mp{\newcount\romt@mp} % \end{macrocode} -% On poursuit en écrivant la macro principale qui fait appel à -% \cs{modrom@naux}. Le \cs{afterassignment} permet de commencer par lire le -% nombre \(N\) qui suit et l'affecter au compteur \cs{romt@mp} puis ensuite de -% lancer \cs{modrom@naux} avec \cs{romt@mp} comme argument. +% \end{macro} +% \begin{macro}{\modromannumeral} +% On poursuit en écrivant la macro principale, définie à la \TeX\ mais en +% ayant pris soin de s'assurer que c'est possible avec \cs{@ifdefinable}. Elle +% fait appel à \cs{modrom@naux}. Le \cs{afterassignment} permet de commencer +% par lire le nombre \(N\) qui suit et l'affecter au compteur \cs{romt@mp} +% puis ensuite de lancer \cs{modrom@naux} avec \cs{romt@mp} comme argument. % \begin{macrocode} -\def\modromannumeral{\afterassignment\modrom@naux \romt@mp=} +\@ifdefinable\modromannumeral{% + \def\modromannumeral{\afterassignment\modrom@naux \romt@mp=}} % \end{macrocode} +% \end{macro} +% \begin{macro}{\modrom@naux} % On continue avec \cs{modrom@naux} qui regarde si \(N\) est strictement % inférieure à 10. Si c'est le cas on exécute \cs{modrom@ni} avec \cs{romt@mp} % pour argument. Sinon on exécute \cs{modrom@nii} avec ce même argument. % \begin{macrocode} -\def\modrom@naux{\ifnum\romt@mp<10 - \modrom@ni{\romt@mp}\else\modrom@nii{\romt@mp}\fi\relax} +\@ifdefinable\modrom@naux{% + \def\modrom@naux{\ifnum\romt@mp<10 + \modrom@ni{\romt@mp}\else\modrom@nii{\romt@mp}\fi\relax}} % \end{macrocode} -% La macro \cs{modrom@ni} admet un argument. Elle se contente de réécrire la -% forme souhaitée du nombre à un chiffre \(N\) passé en argument à -% \cs{modromannumeral}. On utilise un test \cs{ifcase} \cs{or} \texttt{\dots} -% \cs{fi}. On remarquera que le premier \cs{or} suit directement la condition -% puisque ce nombre ne peut être nul. Suivant le choix de l'option on aura -% une définition ou l'autre. +% \end{macro} +% \begin{macro}{\modrom@ni} Cette macro sert à écrire la version modifiée du +% nombre en chiffre romain quand ce nombre est inférieur à \(10\). Elle fait +% appel à \cs{modrom@actuelV} pour savoir quelle forme du $5$ romain écrire. On +% utilise un test \cs{ifcase} \cs{or} \texttt{\dots} \cs{fi}. On remarquera que +% le premier \cs{or} suit directement la condition puisque ce nombre ne peut +% être nul. +% \changes{v0.4}{2008/05/03}{Réécriture de la définition à l'aide de +% \cs{modrom@actuelV}.} % \begin{macrocode} -\if@upourv -\def\modrom@ni#1{\ifcase#1 \or i\or ij\or iij\or iu\or - u\or uj\or uij\or uiij\or ix\fi\relax}\else -\def\modrom@ni#1{\ifcase#1 \or i\or ij\or iij\or iv\or - v\or vj\or vij\or viij\or ix\fi\relax}\fi +\@ifdefinable\modrom@ni{% + \def\modrom@ni#1{\ifcase#1 \or i\or ij\or iij\or i\modrom@actuelV\or + \modrom@actuelV\or \modrom@actuelV j\or \modrom@actuelV ij\or + \modrom@actuelV iij\or ix\fi\relax}}% % \end{macrocode} -% +% \end{macro} +% \begin{macro}{\modrom@nii} % La macro \cs{modrom@nii} admet un argument. Elle utilise la macro % auxiliaire \cs{modrom@nij}. Elle crée dans un groupe ---~notez les doubles % parenthèses ouvrantes et fermantes~--- deux compteurs temporaires. On -% affecte \(N\) aux deux compteurs. +% affecte \(N\) aux deux compteurs. % % Après la 1\iere instruction de la deuxième ligne le compteur 0 |\count0| -% contient le quotient \(q\) de l'argument principal \(N\) dans la division +% contient le quotient, \(q\), de l'argument principal, \(N\), dans la division % euclidienne par \(10\). À la fin de cette ligne il contient \(10q\). % -% Après la troisième ligne, le compteur 1 comptient contient \(r\) le reste de +% Après la troisième ligne, le compteur 1 comptient contient \(r\), le reste de % la division de \(N\) par \(10\). Pour finir, on écrit \(10q\) en chiffres -% romains grâce à la primitive \TeX{} \cs{romannumeral} et on écrit le reste \(r\) +% romains grâce à la primitive \TeX{} \cs{romannumeral} et on écrit le reste~\(r\) % grâce à \cs{modrom@nij}. % \begin{macrocode} -\def\modrom@nii#1{{\count0 =#1\count1 =\count0 % - \divide\count0 by 10 \multiply\count0 by 10 % - \advance \count1 by -\count0 % - \romannumeral\count0\modrom@nij{\count1}% - }} +\@ifdefinable\modrom@nii{% + \def\modrom@nii#1{{\count0 =#1\count1 =\count0 % + \divide\count0 by 10 \multiply\count0 by 10 % + \advance \count1 by -\count0 % + \romannumeral\count0\modrom@nij{\count1}}}} % \end{macrocode} % \end{macro} -% La macro \cs{modrom@nij} admet un argument. Elle pratique comme -% \cs{modrom@ni} en tenant compte toutefois que \(N\) est un nombre à au moins -% deux chiffres ce qui entraine que, p. ex., \(101\) s'écrit -% \modromannumeral 101. Et on a une \og double \fg définition comme ci-dessus -% pour les mêmes raisons. -% \begin{macro}{\modrom@nij} -% C'est la macro qui écrit le reste lorsque \(N > 9\). -% \changes{v0.3}{2004/05/18}{Correction d'un bogue : 101 donne enfin \emph{cj}.} +% \begin{macro}{modrom@nij} La commande \cs{modrom@nij} écrit le dernier +% chiffre romain d'un nombre supérieur à \(10\). Elle admet un argument et +% pratique comme \cs{modrom@ni} en tenant compte toutefois que \(N\) est un +% nombre à au moins deux chiffres ce qui entraine que, p. ex., \(101\) s'écrit +% \modromannumeral 101. Elle fait également appel à \cs{modrom@actuelV} pour +% tenir compte de l'option choisie. +% \changes{v0.4}{2008/05/03}{Réécriture de la définition à l'aide de +% \cs{modrom@actuelV}.} % \begin{macrocode} -\if@upourv -\def\modrom@nij#1{\ifcase#1 \or j\or ij\or iij\or iu\or - u\or uj\or uij\or uiij\or ix\fi\relax}\else -\def\modrom@nij#1{\ifcase#1 \or j\or ij\or iij\or iv\or - v\or vj\or vij\or viij\or ix\fi\relax}\fi +\@ifdefinable\modrom@nij{% + \def\modrom@nij#1{\ifcase#1 \or j\or ij\or iij\or i\modrom@actuelV\or + \modrom@actuelV\or \modrom@actuelV j\or \modrom@actuelV ij\or + \modrom@actuelV iij\or ix\fi\relax}} % \end{macrocode} % \end{macro} -% \begin{macro}{\modroman} % +% \begin{macro}{\modroman} % La deuxième macro, dans le style \LaTeX, est bien plus courte. Elle % fait appel à \cs{expandafter} pour que \cs{value} passe bien un nombre % --~la valeur du compteur passé en argument~-- à \cs{modromannumeral} diff --git a/Master/texmf-dist/source/latex/modroman/modroman.ins b/Master/texmf-dist/source/latex/modroman/modroman.ins index ca0d8d13226..23767fc4a1d 100644 --- a/Master/texmf-dist/source/latex/modroman/modroman.ins +++ b/Master/texmf-dist/source/latex/modroman/modroman.ins @@ -1,6 +1,6 @@ %% -%% Copyright (C) 2003 par Yvon Henel, le TeXnicien de surface -%% +%% Copyright (C) 2003, 2004, 2008 par Yvon Henel, +%% dit «le TeXnicien de surface» %% %% This file may be distributed and/or modified under the conditions of %% the LaTeX Project Public License, either version 1.2 of this license @@ -12,16 +12,14 @@ %% and version 1.2 or later is part of all distributions of LaTeX version %% 1999/12/01 or later. %% - \input docstrip.tex \keepsilent - \preamble This is a generated file. -Copyright (C) 2003, 2004 by Y. Henel, le TeXnicien de surface - +Copyright (C) 2003, 2004, 2008 by Yvon Henel, +dit «le TeXnicien de surface» This file may be distributed and/or modified under the conditions of the LaTeX Project Public License, either version 1.2 of this license @@ -35,6 +33,7 @@ and version 1.2 or later is part of all distributions of LaTeX version \endpreamble +\askforoverwritefalse \generate{\file{modroman.sty}{\from{modroman.dtx}{package}}} \Msg{***************************************************************} @@ -57,14 +56,4 @@ and version 1.2 or later is part of all distributions of LaTeX version \Msg{** Happy TeXing} \Msg{== TeXez dans la joie !} \Msg{***********************************************************} - \endbatchfile - - - - - - - - - -- cgit v1.2.3