Comment créér une macro TikZ avec paramètre et comment la placer dans une library personnelle ? Par exemple voici une commande TikZ qui dessine le symbole d'une lentille convergente. Le paramètre est le rayon de la lentille ici défini par Ouvrir dans l'éditeur Overleaf
\documentclass[]{article} \usepackage{tikz} \begin{document} \begin{tikzpicture}[] \def\rayon{2cm} \draw[help lines] (-5,-\rayon-2cm) grid (5,\rayon+2cm); \draw[<->,>=stealth,line width=2pt] (0,-\rayon) -- (0,\rayon); \end{tikzpicture} \end{document} Comment avoir une macro appelée Posée 22 Aoû '20, 23:43 idefix |
Dans le code suivant je définis une commande avec un argument obligatoire le rayon. Ouvrir dans l'éditeur Overleaf
\documentclass[]{article} \usepackage{tikz} \begin{document} \newcommand{\lentille}[1]{% \draw[help lines] (-5,-#1-2cm) grid (5,#1+2cm); \draw[<->,>=stealth,line width=2pt] (0,-#1) -- (0,#1); } \begin{tikzpicture}[] \lentille{3cm}; \end{tikzpicture} \end{document} La deuxième question me demande un peu de recherche. Publiée 23 Aoû '20, 10:07 Le TeXnicien de surface 1
Il existe déjà une librairie tikz destinée à l'optique avec un manuel en français : tikz-optics.
(23 Aoû '20, 10:29)
Le TeXnicien de surface
1
Une macro TikZ c'est donc en fait une macro latex qu'on ne peut utiliser que dans un environnement TiKZ ?
(23 Aoû '20, 12:54)
idefix
en quelque sorte En regardant le code d'une des "librairies" de tikz on verra un moyen de déclarer des choses plus tikzienne comme des formes (shapes) mais ça devient un peu ésotérique.
(23 Aoû '20, 13:04)
Le TeXnicien de surface
|
On peut faire de la façon suivante (il y a surement mieux). On place la macro LaTeX qui utilise les commandes TikZ dans un fichier Ouvrir dans l'éditeur Overleaf
\newcommand{\lentille}[1]{% \draw[help lines] (-5,-#1-2cm) grid (5,#1+2cm); \draw[<->,>=stealth,line width=2pt] (0,-#1) -- (0,#1); } Il faut ensuite placer ce fichier de bibliothèque TikZ dans un dossier où il sera trouvé par le compilateur LaTeX. Deux possibilités:
Pour respecter la structure de répertoire TeX TDS, il suffit de respecter les noms des dossiers et sous-dossier préconisés dans le dossier TEXMF qu'on a créé. https://miktex.org/kb/tdsQu'est ce que la TDS Il faut au minimum le dossier Apparemment dès que le fichier de bibliothèque Avec la console j'ai désigné le dossier Donc finalement j'ai placé mon fichier de bibliothèque personnel Ceci étant fait la bibliothèque personnelle TikZ est disponible pour un appel avec la commande Ouvrir dans l'éditeur Overleaf
\documentclass[]{article} \usepackage{tikz} \usetikzlibrary{optique} \begin{document} \begin{tikzpicture}[] \lentille{1cm} \end{tikzpicture} \end{document} La macro utilisant des commandes TiKZ, elle n'est utilisable que dans un environnement TikZ. Si on avait mis l'environnement dans la macro, on pourrait utiliser directement la commande sans environnement TikZ. Remarque : Le code ne marche pas dans Overleaf, puisque Overleaf ne connait pas cette bibliothèque personnelle. Publiée 23 Aoû '20, 16:37 idefix Je suis intéressé par les alternatives plus tikzienne.
(23 Aoû '20, 17:52)
idefix
Vous pouvez vous assurer en ajoutant
(23 Aoû '20, 20:29)
touhami
Où trouve t'on cette library ?
(24 Aoû '20, 22:37)
idefix
|