Voici l'ECM à tester sous 2 noms du même fichier dans le même répertoire (sous Linux)

\documentclass[a4paper,11pt,french,oneside,DIV=calc]{scrartcl}
\usepackage{ifthen}
\usepackage[french]{babel}
\begin{document}
Ce fichier porte 2 noms, l'un est \textsc{TEST.tex} l'autre \textsc{bidule.tex} 
(hardlink sous Linux: \emph{ln TEST.tex bidule.tex}). 
 Sous windows une copie ferait le travail, mais me semblerait sans intérêt: 
 l'intérêt ici est de n'utiliser qu'un seul fichier pour 2 résultats différents 
 selon le nom d'appel, avec une copie il suffirait de modifier la ligne testée.

La ligne suivante rapporte le nom juste de la commande utilisée, comme attendu:

jobname=\jobname

Mais cette ligne génère une erreur silencieusement:

\ifthenelse{\equal{TEST}{\jobname}}{C'est TEST}{C'est pas TEST!}

en renvoyant toujours «C'est pas TEST», même quand \verb+\jobname+ renvoie correctement «TEST»
\end{document}

où est l'erreur?

Posée 11 heures auparavant

joseph-tux's gravatar image

joseph-tux
57345489
Taux d'acceptation : 6%

Modifiée 10 heures auparavant


Avec l'extension xstring:

\documentclass[a4paper,11pt,french,oneside,DIV=calc]{scrartcl}

\usepackage[french]{babel}
\usepackage{xstring}

\begin{document}

\IfEq{\jobname}{\detokenize{TEST}}{C'est TEST}{C'est pas TEST!}

\end{document}
Lien permanent

Publiée 11 heures auparavant

samcarter's gravatar image

samcarter
9.2k2817
Taux d'acceptation : 58%

Modifiée 11 heures auparavant

Votre réponse
(dés)activer l'aperçu

Suivre cette question

Par courriel :

Une fois que vous serez enregistré, vous pourrez souscrire à n'importe quelle mise à jour ici

Par flux RSS :

Réponses

Réponses et commentaires

Bases de Markdown

  • *italique* ou _italique_
  • **gras** ou __gras__
  • Lien ::[texte](http://url.com/ "Titre ")
  • Image : ?![alt texte](/path/img.jpg "Titre ")
  • Liste numérotée : 1. Foo 2. Bar
  • Pour ajouter un passage à la ligne, ajoutez deux espaces à l'endroit où vous souhaitez que la ligne commence.
  • Les balises HTML de base sont également prises en charge.