Des crochets gras en tikz pour intervalles
dans LaTeX
Bonjour,
J'essaye de représenter les intervalles sur l'axe gradué. Je n'arrive pas à mettre les crochets bien en gras. Pour le moment j'obtiens l'image ci-joint et le code correspondant :
Des idées comment rendre les choses plus lisible ?
J'essaye de représenter les intervalles sur l'axe gradué. Je n'arrive pas à mettre les crochets bien en gras. Pour le moment j'obtiens l'image ci-joint et le code correspondant :
\documentclass[11pt,fleqn]{book} \usepackage{graphicx} % Required for including pictures \usepackage{tikz} % Required for drawing custom shapes \usepackage[francais]{babel} % English language/hyphenation \usepackage{enumitem} % Customize lists \setlist{nolistsep} % Reduce spacing between bullet points and numbered lists \usepackage{booktabs} % Required for nicer horizontal rules in tables \usepackage{xcolor} % Required for specifying colors by name \usepackage{multicol} \usepackage{float} \usepackage{frcursive} \usepackage{xlop} \usepackage{ragged2e} \usepackage{ulem} \usepackage{cancel} \usepackage{beton, euler} % Use the Adobe Times Roman as the default text font together with math symbols from the Symbol, Chancery and Computer Modern fonts \usepackage{amsmath,amsfonts,amssymb,amsthm} % For math equations, theorems, symbols, etc \usepackage{microtype} % Slightly tweak font spacing for aesthetics \usepackage[utf8]{inputenc} % Required for including letters with accents \usepackage[T1]{fontenc} % Use 8-bit encoding that has 256 glyphs \begin{document} \begin{center} \begin{tikzpicture}[>=latex] \draw[->] (-3.5,0) --(5.5,0); \foreach \i in {-3,-2,...,5} % numbers on line \draw (\i,0.1) -- + (0,-0.25) node[below] {$\i$}; % tick and their labels \node[] at (-1,0) {\textcolor{blue}{$\boldsymbol{\big[}$}}; \node[] at (3,0) {\textcolor{blue}{$\mathbf{\big]}$}}; \node[above=8pt] at (5.35,0) {$x$}; \foreach \xp in {-0.8, -0.6,...,2.8}{\node[] at (\xp,0) {\textcolor{blue}{/}};} \end{tikzpicture} \end{center} \end{document}
Des idées comment rendre les choses plus lisible ?
Réponses
-
Bonjour,
Tu peux essayer de remplacer\node[] at (-1,0) {\textcolor{blue}{$\boldsymbol{\big[}$}}; \node[] at (3,0) {\textcolor{blue}{$\mathbf{\big]}$}};
par quelque chose comme\draw[thick, blue] (-0.9,0.3) -- (-1,0.3) -- (-1,-0.3) -- (-0.9,-0.3) ; \draw[thick, blue] (2.9,0.3) -- (3,0.3) -- (3,-0.3) -- (2.9,-0.3) ;
Ça revient à dessiner soi-même les crochets par une suite de traits. Si ça n'est pas assez large, mets "very thick". -
Merci @Calli, c'est plus lisible. Cela fonctionne!
-
Il faut regarder les warnings de LaTeX : il est rare que la police mathématique d'extension soit disponible en gras (sauf peut-être avec les polices Unicode). Pour y remédier, on peut utiliser \pmb, mais c'est laid. Ma suggestion ici serait de composer les crochets en mode texte.
Il vaudrait mieux, à l'avenir, fournir des exemples comportant une quantité minimale de code permettant de reproduire le problème (voir ci-dessous). Heureusement, le code fourni compile après copier/coller, ce qui est déjà pas trop mal. Il y a des moyens plus simples — et mieux intégrés à TikZ — de changer la couleur du texte d'un nœud (voir ci-dessous).\documentclass{article} \usepackage{beton, euler} \usepackage{tikz} \usepackage{amsmath} \begin{document} \begin{tikzpicture}[>=latex] \draw[->] (-3.5,0) --(5.5,0); \foreach \i in {-3,-2,...,5} { \draw (\i,0.1) -- +(0,-0.25) node[below] {$\i$}; % tick and their labels } \begin{scope}[nodes={blue, font=\usefont{OT1}{cmr}{bx}{n}\Large}] \node at (-1,0) {[}; \node at (3,0) {]}; \end{scope} \node[above=8pt] at (5.35,0) {$x$}; \foreach \xp in {-0.8, -0.6,...,2.8} { \node[blue] at (\xp, 0) {/}; } \end{tikzpicture} \end{document}
-
@brian, merci. J'ai déjà mis en place ce que a proposé @Calli, mais je garde ton code sous la main. ;-)Il vaudrait mieux, à l'avenir, fournir des exemples comportant une quantité minimale de code permettant de reproduire le problème (voir ci-dessous).
-
Le fait de mettre toute une page de commandes \usepackage obscurcit le problème et fait perdre un peu de temps à tout le monde. C'est ton boulot de préparer un exemple complet minimal (ECM). D'une, ça donne beaucoup plus envie de lire le code et de répondre ; de deux, ça peut grandement t'aider à comprendre le problème toi-même. Oui, les packages peuvent compter, c'est pourquoi il ne faut garder pour l'ECM que ceux qui sont vraiment pertinents pour le problème. Ici, par exemple, j'ai gardé ton \usepackage{beton, euler}, même si l'on pourrait s'en passer (tu as d'ailleurs des polices bitmap dans ton PDF pour les hachures par /, bof bof ; tu peux éviter cela en enlevant 'beton' ou en faisant les hachures autrement, par exemple dans la même police que les crochets avec ma technique). De plus, le fait de minimaliser l'exemple fait que Google ou autres moteurs de recherche n'indexent pas des tas de mot-clés qui n'ont rien à voir avec le problème ; par conséquent, on a plus de chances de retrouver le fil plus tard en faisant une recherche.
Dit autrement, si je te poste 50 pages de code avec plein de couches d'abstraction personnelles que tu n'utilises et ne connais pas, et que je te dis « dans ce document, j'ai résolu le problème dont tu as parlé », est-ce que tu vas être contente ? :-P
Enfin, si tu obtiens une solution minimale qui s'avère ne pas marcher avec tous les packages de ton document, il est toujours possible de répondre dans le fil avec un nouvel ECM pour qu'on regarde ce qui ne va pas et comment résoudre le problème. -
Pardon, j'ai parlé un peu trop vite au sujet des polices bitmap pour les hachures : le document d'origine utilise \usepackage[T1]{fontenc}. Avec ça, les polices fournies par cm-super sont utilisées et donnent des glyphes '/' vectoriels (i.e., pas bitmap). Cela dit, on pourrait simplement remplacer la commande \node qui affiche un '/' par une commande \draw traçant un segment. Une autre manière de faire, cette fois-ci sans boucle, consiste à remplir un rectangle à l'aide d'un motif contenant des hachures :
\documentclass{article} \usepackage{euler} \usepackage{tikz} \usetikzlibrary{patterns} \begin{document} \begin{tikzpicture}[>=latex] \draw[->] (-3.5,0) -- (5.5,0); \foreach \i in {-3,-2,...,5} { \draw (\i,0.1) -- +(0,-0.25) node[below] {$\i$}; % ticks and their labels } \begin{scope}[nodes={blue, font=\usefont{OT1}{cmr}{bx}{n}\Large}] \node at (-1,0) {[}; \node at (3,0) {]}; \end{scope} \node[above=8pt] at (5.35,0) {$x$}; \fill[pattern=north east lines, pattern color=blue] (-1, -0.2) rectangle (3, 0.2); \end{tikzpicture} \end{document}
Connectez-vous ou Inscrivez-vous pour répondre.
Bonjour!
Catégories
- 163.1K Toutes les catégories
- 7 Collège/Lycée
- 21.9K Algèbre
- 37.1K Analyse
- 6.2K Arithmétique
- 53 Catégories et structures
- 1K Combinatoire et Graphes
- 11 Sciences des données
- 5K Concours et Examens
- 11 CultureMath
- 47 Enseignement à distance
- 2.9K Fondements et Logique
- 10.3K Géométrie
- 62 Géométrie différentielle
- 1.1K Histoire des Mathématiques
- 68 Informatique théorique
- 3.8K LaTeX
- 39K Les-mathématiques
- 3.5K Livres, articles, revues, (...)
- 2.7K Logiciels pour les mathématiques
- 24 Mathématiques et finance
- 312 Mathématiques et Physique
- 4.9K Mathématiques et Société
- 3.3K Pédagogie, enseignement, orientation
- 10K Probabilités, théorie de la mesure
- 772 Shtam
- 4.2K Statistiques
- 3.7K Topologie
- 1.4K Vie du Forum et de ses membres