Bypass nombre arguments \newcommand

Tout ce qui concerne le langage TeX/LaTeX et ses variantes. Ce langage est utilisable sur le forum via les balises tex.
[participation réservée aux utilisateurs inscrits]
Règles du forum
Merci de soigner la rédaction de vos messages et de consulter ce sujet avant de poster. Pensez également à utiliser la fonction recherche du forum.
Gatix
Utilisateur débutant
Utilisateur débutant
Messages : 7
Inscription : dimanche 24 mars 2024, 17:18
Statut actuel : Autre

Bypass nombre arguments \newcommand

Message non lu par Gatix »

Bonjour

La commande \newcommand est limitée à 9 arguments. Je sais qu'il existe une possibilité d'étendre ce nombre d'arguments en utilisant un script Python "newcommand.py"

Je souhaite savoir s'il existe une possibilité d'étendre ce nombre d'arguments dans Latex strictement?
Si oui, comment?

En vous remerciant d'avance pour vos réponses.
Arathorn
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 290
Inscription : mercredi 24 avril 2013, 19:47
Statut actuel : Enseignant

Re: Bypass nombre arguments \newcommanb

Message non lu par Arathorn »

Il existe des paquets qui permettent d'utiliser le système clé = valeurs.
https://www.ctan.org/pkg/simplekv documentation en français.
https://tex.stackexchange.com/questions ... 731#551731
Gatix
Utilisateur débutant
Utilisateur débutant
Messages : 7
Inscription : dimanche 24 mars 2024, 17:18
Statut actuel : Autre

Re: Bypass nombre arguments \newcommand

Message non lu par Gatix »

J'ai besoin d'aide. Je ne comprends pas comment travailler avec des clés.
je souhaitre réaliser une minipage contenant plus que 9 paramètres.
voir l'exemple ci-dessous:

Code : Tout sélectionner

\documentclass[]{article}

\usepackage[french]{babel}  %Option lingistique
\usepackage [T1]{fontenc}     %Mode d'encodage
\usepackage[latin1]{inputenc} %Type d'encodage

\begin{document}
\newcommand{\ContnuMP}[8]
{
%begin{minipage}[position][hauteur][pos-interne]{largeur}
\begin{minipage}[1.2cm]{1.5cm}
	\begin{center}
       		{#1} \hfill{#2}\\
       		{#3} \hfill{#4}\\
		{#5} \hfill{#6}\\
		{#7} \hfill{#8}\\
%		\{#9}\hfill{#10}\\   %adaptation pour une
%		\{#11} \hfill{#12}\\ %compliation réussie
       \end{center}
  \end{minipage}
}

\ContnuMP{a}{b}{c}{d}{e}{f}{g}{h}%{i}{j}{k}{l}
\ContnuMP{A}{B}{C}{D}{E}{F}{G}{H}%{i}{j}{k}{l}

\end{document}
J'ai essayé avec simpleKV et skeycommand (pour ses environnements) mais je ne vois pas comment intégrer correctement ces clés.
projetmbc
Utilisateur chevronné
Utilisateur chevronné
Messages : 2267
Inscription : samedi 29 décembre 2007, 00:58

Re: Bypass nombre arguments \newcommand

Message non lu par projetmbc »

Bonjour.

Pouvez-vous donner un cas et un contexte d'utilisation ?
Gatix
Utilisateur débutant
Utilisateur débutant
Messages : 7
Inscription : dimanche 24 mars 2024, 17:18
Statut actuel : Autre

Re: Bypass nombre arguments \newcommand

Message non lu par Gatix »

Ça serait pour réaliser des fiches-produits qui mettraient en évidence des spécifications, leurs champs d'application, etc. Avec l'aide de tikz, indiquer des combinaisons entre ces produits et faire une fiche pour chaque combinaison. Pour améliorer la lisibilité, c'est fiches seraient standardisées.
Ai-je répondu à la question?
projetmbc
Utilisateur chevronné
Utilisateur chevronné
Messages : 2267
Inscription : samedi 29 décembre 2007, 00:58

Re: Bypass nombre arguments \newcommand

Message non lu par projetmbc »

Presque... :) Pourrait-on avoir un exemple concret de données à mettre en forme ?
Gatix
Utilisateur débutant
Utilisateur débutant
Messages : 7
Inscription : dimanche 24 mars 2024, 17:18
Statut actuel : Autre

Re: Bypass nombre arguments \newcommand

Message non lu par Gatix »

Voici un exemple de données.

Code : Tout sélectionner

Nom Rylsan G820
Famille PA11
Température d'injection 260°C [u]280°C[/u] 300°C
Température d'outil 20°C-80°C
Température transition vitreuse 120°C
Retrait parallèle 0.2%
Retrait perpendiculaire 0.4%
Module de traction 1665N/mm^2
Absorption eau 2.45%
Absorption humidité 1.16%
Durée 70D
Masse volumique 1000kg/m'3
Si nécessaire, j'affinerai la mise en page.
projetmbc
Utilisateur chevronné
Utilisateur chevronné
Messages : 2267
Inscription : samedi 29 décembre 2007, 00:58

Re: Bypass nombre arguments \newcommand

Message non lu par projetmbc »

Il me semble qu'il faudrait uniformiser les données pour ensuite passer via un package manipulant le CSV. On peut imaginer des données au format suivant par exemple. Ne pas prendre cela pour argent comptant bien entendu. :D

Code : Tout sélectionner

type                           , unit  , value 
Nom                            ,       , Rylsan G820
Famille                        ,       , PA11
Température d'injection        , °C    , 260-280-300
Température d'outil            , °C    , 20-80
Température transition vitreuse, °C    , 120
Retrait parallèle              , %     , 0.2
Retrait perpendiculaire        , %     , 0.4
Module de traction             , N/mm^2, 1665
Absorption eau                 , %     , 2.45
Absorption humidité            , %     , 1.16
Durée                          , D     , 70
Masse volumique                , kg/m^3, 1000
Gatix
Utilisateur débutant
Utilisateur débutant
Messages : 7
Inscription : dimanche 24 mars 2024, 17:18
Statut actuel : Autre

Re: Bypass nombre arguments \newcommand

Message non lu par Gatix »

Oui. Effectivement on pourrait envisager une solution comme celle-ci. Mais il me semble qu'on s'éloigne du sujet qui est comment intégrer une clé qui permet de contourner la limite de 9 arguments imposé par la commande /newcommanb, non?
projetmbc
Utilisateur chevronné
Utilisateur chevronné
Messages : 2267
Inscription : samedi 29 décembre 2007, 00:58

Re: Bypass nombre arguments \newcommand

Message non lu par projetmbc »

Je ne pense pas, car parfois, on a une solution technique en tête et l'on peut faire autrement concrètement. Je pense que c'est le cas ici.

Sinon, via LaTeX3, on peut traiter des valeurs séparées par des virgules par exemple.
anonyme74170
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 109
Inscription : jeudi 21 avril 2016, 11:34

Re: Bypass nombre arguments \newcommand

Message non lu par anonyme74170 »

Bonjour,

Ma compréhension du problème après une lecture rapide (trop ?) est la récupération de données provenant d'un tableau pour faire des fiches produits. N'est-ce pas équivalent à du publipostage ?
Si oui, un embryon de réponse peut être ici : https://bioinfo-fr.net/latex-automatisez-traitement-csv.
Bonne journée.
BV