Bonsoir,

J'ai créé cette image alt text pour transcrire des problèmes sous forme de diagramme. J'utilise Metapost et LaTeX pour l'accolade. Existe-t-il, sous LaTeX, des accolades "plus englobantes", c'est-à-dire dans mon cas, des accolades dont les extrêmités remonteraient jusqu'à mi-hauteur des rectangle 2 et 3 ?

Posée 10 Déc '19, 23:35

christophe-poulain's gravatar image

christophe-poulain
8661827
Taux d'acceptation : 37%

Modifiée 16 Déc '19, 22:09

Pathe's gravatar image

Pathe ♦♦
7.6k49210252


Avec TikZ : on peut reprendre le code qui crée les accolades (decoration=brace ou, comme ci-dessous, decoration=calligraphic brace) et prolonger (« à la main ») les extrémités :

Ouvrir dans l'éditeur Overleaf
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{decorations.pathreplacing,calligraphy,calc}
\makeatletter
%% cf. tikzlibrarycalligraphy.code.tex
\pgfdeclaredecoration{my calligraphic brace}{brace}
{
\state{brace}[width=+\pgfdecoratedremainingdistance,next state=final]
{
\pgfsyssoftpath@setcurrentpath{\pgfutil@empty}
\pgfpathmoveto{\pgfpointorigin}
\pgfpathmoveto{\pgfqpoint{1mm}{-2mm}} %% cette ligne modifie le point de départ
\pgfpathcurveto
{\pgfqpoint{.15\pgfdecorationsegmentamplitude}{.3\pgfdecorationsegmentamplitude}}
{\pgfqpoint{.5\pgfdecorationsegmentamplitude}{.5\pgfdecorationsegmentamplitude}}
{\pgfqpoint{\pgfdecorationsegmentamplitude}{.5\pgfdecorationsegmentamplitude}}
{
\pgftransformxshift{+\pgfdecorationsegmentaspect\pgfdecoratedremainingdistance}
\pgfpathlineto{\pgfqpoint{-\pgfdecorationsegmentamplitude}{.5\pgfdecorationsegmentamplitude}}
\pgfpathcurveto
{\pgfqpoint{-.5\pgfdecorationsegmentamplitude}{.5\pgfdecorationsegmentamplitude}}
{\pgfqpoint{-.15\pgfdecorationsegmentamplitude}{.7\pgfdecorationsegmentamplitude}}
{\pgfqpoint{0\pgfdecorationsegmentamplitude}{1\pgfdecorationsegmentamplitude}}
\pgfpathmoveto{\pgfqpoint{0\pgfdecorationsegmentamplitude}{1\pgfdecorationsegmentamplitude}}
\pgfpathcurveto
{\pgfqpoint{.15\pgfdecorationsegmentamplitude}{.7\pgfdecorationsegmentamplitude}}
{\pgfqpoint{.5\pgfdecorationsegmentamplitude}{.5\pgfdecorationsegmentamplitude}}
{\pgfqpoint{\pgfdecorationsegmentamplitude}{.5\pgfdecorationsegmentamplitude}}
}
{
\pgftransformxshift{+\pgfdecoratedremainingdistance}
\pgfpathlineto{\pgfqpoint{-\pgfdecorationsegmentamplitude}{.5\pgfdecorationsegmentamplitude}}
\pgfpathcurveto
{\pgfqpoint{-.5\pgfdecorationsegmentamplitude}{.5\pgfdecorationsegmentamplitude}}
{\pgfqpoint{-.15\pgfdecorationsegmentamplitude}{.3\pgfdecorationsegmentamplitude}}
{\pgfqpoint{-1mm}{-2mm}} %% cette ligne modifie le point d'arrivée
}
\tikzset{
taper width=.5\pgflinewidth,
taper
 
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Lien permanent

Publiée 11 Déc '19, 00:23

nmarkey's gravatar image

nmarkey
1.4k29
Taux d'acceptation : 45%

Modifiée 30 Déc '19, 21:04

Pathe's gravatar image

Pathe ♦♦
7.6k49210252

Merci. JE vais voir si c'est compatible avec mon usage de metapost.

(11 Déc '19, 18:23) christophe-poulain christophe-poulain's gravatar image

La dernière extension de Metapost devrait aussi permettre de le faire, car elle introduit la notion de nodes.

(16 Déc '19, 16:25) sztruks sztruks's gravatar image

Et pour finir, la solution avec pstricks:

Ouvrir dans l'éditeur Overleaf
\documentclass[svgnames]{article}%
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{fourier, erewhon}
\usepackage{pstricks-add}
\usepackage{auto-pst-pdf}
\begin{document}
\[
\pnode[-1em, 1.2ex]{A}\framebox[2em]{2}\hspace{5em}\times \hspace{5em}\framebox[2em]{3} \pnode[1em,1.2ex]{B}
\psset{linejoin=1, braceWidth=1.2pt, braceWidthInner=16pt, braceWidthOuter=6pt, linecolor=RoyalBlue}
\psbrace*[ref=tC, nodesepB=0.2ex](A)(B){\framebox[2em]{\phantom{2}}}
\]
\end{document}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

alt text

Lien permanent

Publiée 11 Déc '19, 02:04

Bernard's gravatar image

Bernard
4.6k15
Taux d'acceptation : 35%

merci, je vais voir si c'est compatible avec mon usage de metapost.

(11 Déc '19, 18:23) christophe-poulain christophe-poulain's gravatar image

Bon, j'ai suivi vos idées en recréant une accolade sous metapost :). J'ai adapté le code trouvé ici : https://tex.stackovernet.com/fr/q/67363

Voici le code :

Ouvrir dans l'éditeur Overleaf
\documentclass{article}
\usepackage[shellescape]{gmp}
\begin{document}
\begin{mpost}
prologues:=2;
u:=1cm;
vardef braceh_label(expr s,a,b) text t_ =
save m,theta; pair m;
theta := angle (b-a); m := .5[a,b]+(10 up rotated theta);
label.top(s,m) rotatedabout(m, theta) t_;
draw (a+(1 left + 5 down)){dir (90-theta)}
.. a+(2 up rotated theta) { dir (60+theta) }
.. a+((6,6) rotated theta)
-- m+((-6,-4) rotated theta)
.. { dir (60+theta) } m { dir (theta-60) }
.. m+((+6,-4) rotated theta)
-- b+((-6,6) rotated theta)
.. { dir (theta-60) } b+(2 up rotated theta)
.. { dir (theta-90) } b+(1 right+5down)
withpen pencircle scaled .4 t_;
enddef;
vardef braceb_label(expr s,a,b) text t_ =
save m,theta; pair m;
theta := angle (b-a); m := .5[a,b]+(10 down rotated -theta);
label.bot(s,m) rotatedabout(m, theta) t_;
draw (a+(1 left + 5 up)){dir (-90+theta)}
.. a+(2 down rotated -theta) { dir (-60-theta) }
.. a+((6,-6) rotated -theta)
-- m+((-6,4) rotated -theta)
.. { dir (-60-theta) } m { dir (-theta+60) }
.. m+((+6,4) rotated -theta)
-- b+((-6,-6) rotated -theta)
.. { dir (-theta+60) } b+(2 down rotated -theta)
.. { dir (-theta+90) } b+(1 right+5 up)
withpen pencircle scaled .4 t_;
enddef;
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Lien permanent

Publiée 11 Déc '19, 22:14

christophe-poulain's gravatar image

christophe-poulain
8661827
Taux d'acceptation : 37%

Modifiée 11 Déc '19, 22:20

Votre réponse
[Masquer 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

Mots-clés de la question :

×2

Question posée : 10 Déc '19, 23:35

Question vue : 9,814 fois

Dernière mise à jour : 16 Déc '19, 16:25

C'est votre première visite ici ? Consultez la FAQ !

×