Historique des modifications [retour]
cliquez ici pour masquer/afficher la révision 4

05 Jul '17, 00:51

touhami's gravatar image

touhami
9.9k410

Voici une solution, avec l'extension [optional](https://www.ctan.org/pkg/optional). \documentclass[french]{article} \usepackage{lmodern} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage{babel} \usepackage{optional} \newcommand{\selecteur}[3]{% \opt{fr}{#1}% \opt{en}{#2}% \opt{fe}{#3}} \begin{document} Il s'agirait de n'avoir qu'un seul fichier source, qui contiendrait par exemple des commandes du type \selecteur{volet de démarrage à froid}{starter}{choke} \end{document} À compiler en utilisant la commande `pdflatex \def\UseOption{fe} \input{monfichier.tex}` **Remarque 1** `\UseOption` est soit *fr*, *fe* ou *en* selon la version. **Remarque 2** le nom de commande `\UseOption` est utilisé par l'extension et ne doit pas être changé. **Remarque 3** On peut remplacer `\UseOption` par une autre commande, par exemple : `pdflatex \def\lan{fe} \input{monfichier.tex}` mais il faut alors remplacer `\usepackage{optional}` par `\usepackage[\lan]{optional}`. ---------- **Deuxième solution** (sans extensions supplémentaires) \documentclass[french]{article} \usepackage{lmodern} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage{babel} \newcounter{fr} \providecommand\lan{1}% par défault c'est (1) fr strict \setcounter{fr}{\lan} \makeatletter \let\selecteur\@nameuse \newcommand{\mtselecteur}[3]{% %\mtselecteur{franglais}{fr strict}{fr actuel} \ifcase\value{fr}\or \@namedef{#1}{#2}\or% si 1 fr strict \@namedef{#1}{#3}\or% si 2 fr actuel \@namedef{#1}{#1}\fi}% si 3 (ou plus) franglais \makeatother \mtselecteur{choke}{volet de démarrage à froid}{starter} \begin{document} \tableofcontents \section{\selecteur{choke}} Il s'agirait de n'avoir qu'un seul fichier source, qui contiendrait par exemple des commandes du type \selecteur{choke} mais \end{document} À compiler avec la commande `pdflatex \def\lan{1} \input{monfichier.tex}` (resp. `\def\lan{2}` ou `\def\lan{3}`). Les différentes versions sont données au préambule (ou n'importe où avant l'utilisation) comme dans `\mtselecteur{choke}{volet de démarrage à froid}{starter}` (`\mtselecteur{franglais}{fr strict}{fr actuel}`) puis elles sont utilisées dans le corps du document avec `\selecteur{choke}`.
cliquez ici pour masquer/afficher la révision 3

04 Jul '17, 15:35

touhami's gravatar image

touhami
9.9k410

Voici une solution, avec l'extension [optional](https://www.ctan.org/pkg/optional). \documentclass[french]{article} \usepackage{lmodern} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage{babel} \usepackage{optional} \newcommand{\selecteur}[3]{% \opt{fr}{#1}% \opt{en}{#2}% \opt{fe}{#3}} \begin{document} Il s'agirait de n'avoir qu'un seul fichier source, qui contiendrait par exemple des commandes du type \selecteur{volet de démarrage à froid}{starter}{choke} \end{document} À compiler en utilisant la commande `pdflatex \def\UseOption{fe} \input{monfichier.tex}` **Remarque 1** `\UseOption` est soit *fr*, *fe* ou *en* selon la version. **Remarque 2** le nom de commande `\UseOption` est utilisé par l'extension et ne doit pas être changé. **Remarque 3** On peut remplacer `\UseOption` par une autre commande, par exemple : `pdflatex \def\lan{fe} \input{monfichier.tex}` mais il faut alors remplacer `\usepackage{optional}` par `\usepackage[\lan]{optional}`.`\usepackage[\lan]{optional}`. ---------- **Deuxième solution** (sans extensions supplémentaires) \documentclass[french]{article} \usepackage{lmodern} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage{babel} \newcounter{fr} \providecommand\lan{1}% par défault c'est (1) fr strict \setcounter{fr}{\lan} \makeatletter \let\selecteur\@nameuse \newcommand{\mtselecteur}[3]{% %\mtselecteur{franglais}{fr strict}{fr actuel} \ifcase\value{fr}\or \@namedef{#1}{#2}\or% si 1 fr strict \@namedef{#1}{#3}\or% si 2 fr actuel \@namedef{#1}{#1}\fi}% si 3 (ou plus) franglais \makeatother \mtselecteur{choke}{volet de démarrage à froid}{starter} \begin{document} \tableofcontents \section{\selecteur{choke}} Il s'agirait de n'avoir qu'un seul fichier source, qui contiendrait par exemple des commandes du type \selecteur{choke} mais \end{document} À compiler avec la commande `pdflatex \def\lan{1} \input{monfichier.tex}` (resp. `\def\lan{2}` ou `\def\lan{3}`). Les différentes versions sont données au préambule (ou n'importe où avant l'utilisation) comme dans `\mtselecteur{choke}{volet de démarrage à froid}{starter}` (`\mtselecteur{franglais}{fr strict}{fr actuel}`) puis elles sont utilisées dans le corps du document avec `\selecteur{choke}`.
cliquez ici pour masquer/afficher la révision 2
mineure

29 Jui '17, 00:44

Pathe's gravatar image

Pathe
7.6k49210252

cliquez ici pour masquer/afficher la révision 1

29 Jui '17, 00:19

touhami's gravatar image

touhami
9.9k410