Sur l'excellent site TeXample.net, je tombe sur un joli triangle de Morley.

Malheureusement, il ne compile pas : le package tkz-2d manque à ma TeX Live. Je comprends, sur le site d'Alain Matthes, que ce package est devenu tkz-euclide. Mais ça ne compile pas plus.

Quelqu'un saurait-il amender ce code, de manière à ce que je puisse obtenir cette merveilleuse figure ?

Ouvrir dans l'éditeur Overleaf
% Morley's triangle
% Author : Arnaud Lefebvre (IREM Rouen)
% Intersections of trisector lines in any triangle
% are vertices of an equilateral triangle

\documentclass{article}

\usepackage{tikz,tkz-euclide}
\usetikzlibrary{calc,intersections}

\pagestyle{empty}
\usepackage[french]{babel}
\begin{document}

\begin{tikzpicture}

%----------------------------------------------------
% Coordinates of A, B and C, the triangle vertices 
%----------------------------------------------------
\coordinate[label=above:$A$] (A) at (5,4);
\coordinate[label=left:$B$] (B) at (0,0);
\coordinate[label=right:$C$] (C) at (7,0);

%----------------------------------------------------
% Lengths of segments [AB], [BC], and [CA] 
%----------------------------------------------------
\tkzMathLength(B,C)
\newlength{\la}
\setlength{\la}{\tkzMathLen pt}
\setlength{\la}{.01\la}
\tkzMathLength(A,C)
\newlength{\lb}
\setlength{\lb}{\tkzMathLen pt}
\setlength{\lb}{.01\lb}
\tkzMathLength(A,B)
\newlength{\lc}
\setlength{\lc}{\tkzMathLen pt}
\setlength{\lc}{.01\lc}

%----------------------------------------------------
% Computing 1/3 of each angle
%----------------------------------------------------
\pgfmathsetmacro{\A}{acos((\la*\la-\lb*\lb-\lc*\lc)/(-2*\lb*\lc))};
\pgfmathsetmacro{\tA}{\A/3};
\pgfmathsetmacro{\B}{acos((\lb*\lb-\la*\la-\lc*\lc)/(-2*\la*\lc))};
\pgfmathsetmacro{\tB}{\B/3};
\pgfmathsetmacro{\C}{acos((\lc*\lc-\lb*\lb-\la*\la)/(-2*\lb*\la))};
\pgfmathsetmacro{\tC}{\C/3};

%----------------------------------------------------
% Computing intersections of trisector lines
%----------------------------------------------------
\coordinate (A1) at ($(A)!100*max(\lb,\lc)!\tA:(B)$);
\coordinate (A2) at ($(A)!100*max(\lb,\lc)!2*\tA:(B)$);
\coordinate (B1) at ($(B)!100*max(\la,\lc)!\tB:(C)$);
\coordinate (B2) at ($(B)!100*max(\la,\lc)!2*\tB:(C)$);
\coordinate (C1) at ($(C)!100*max(\la,\lb)!\tC:(A)$);
\coordinate (C2) at ($(C)!100*max(\la,\lb)!2*\tC:(A)$);

%----------------------------------------------------
% Computing coordinates of vertices O, P and Q of 
% the Morley's triangle 
%----------------------------------------------------
\coordinate (O) at (intersection of C--C1 and A--A2);
\coordinate (P) at (intersection of A--A1 and B--B2);
\coordinate (Q) at (intersection of B--B1 and C--C2);

%----------------------------------------------------
% Drawing triangles and trisectors
%----------------------------------------------------
\tkzMarkAngle[size=1,fillcolor=green!80](B/A/A1)
\tkzMarkAngle[size=.9,fillcolor=green!80](A2/A/A1)
\tkzMarkAngle[size=.8,fillcolor=green!80](A2/A/C)
\tkzMarkAngle[size=1,fillcolor=blue!80](C/B/B1)
\tkzMarkAngle[size=.9,fillcolor=blue!80](B2/B/B1)
\tkzMarkAngle[size=.8,fillcolor=blue!80](B2/B/A)
\tkzMarkAngle[size=1,fillcolor=red!80](A/C/C1)
\tkzMarkAngle[size=.9,fillcolor=red!80](C2/C/C1)
\tkzMarkAngle[size=.8,fillcolor=red!80](C2/C/B)
\draw (A)--(B)--(C)--cycle;
\draw[fill=orange, opacity=.4] 
   (O)--node[sloped]{\tiny{//}}
   (P)--node[sloped]{\tiny{//}}
   (Q)--node[sloped]{\tiny{//}}(O);
\draw (A)--(O) (A)--(P) (B)--(P) (B)--(Q) (C)--(Q) (C)--(O);

%----------------------------------------------------
% Caption
%----------------------------------------------------
\node[rounded corners, fill=purple!20,anchor=south east] at (3,3) 
   {\begin{minipage}{5cm}
     \textbf{Triangle de Morley}\newline Les trissectrices d'un triangle quelconque 
     se croisent en trois points qui forment un triangle
     équilateral.
   \end{minipage}};

\end{tikzpicture}

\end{document}

Posée 07 Fév '19, 23:09

Pathe's gravatar image

Pathe ♦♦
7.5k43204251
Taux d'acceptation : 55%

Modifiée 08 Fév '19, 02:44

1

Il y a une version avec tkz-euclide: https://tex.stackexchange.com/a/263261/36296

(08 Fév '19, 17:04) samcarter samcarter's gravatar image

Oui, je la connais, mais je la trouve moins jolie.

(08 Fév '19, 20:24) Pathe ♦♦ Pathe's gravatar image

tkz-euclide n'est pas compatible avec tkz-2d.

Voici alors une solution.

Dans votre document remplacer \usepackage{tikz,tkz-euclide} par \usepackage{tkz-2d}.

Téléchargez et installez, dans le dossier de travail (sinon pour le texmf local il faut renommer tkz-base), les fichiers suivants :

Dans tkz-base.sty dé-commenter %\RequirePackage{ifthen}.

Compilez...

Lien permanent

Publiée 08 Fév '19, 00:23

touhami's gravatar image

touhami
9.7k410
Taux d'acceptation : 51%

Modifiée 08 Fév '19, 02:41

Pathe's gravatar image

Pathe ♦♦
7.5k43204251

Pour info, la page de téléchargement mentionne : Attention, la version TikZ est maintenant 2.10. tkz-euclide remplace tkz-2d et se présente sous la forme d'un dossier à mettre dans un texmf personnel (dans un sous dossier latex du dossier tex).

(08 Fév '19, 02:50) Pathe ♦♦ Pathe's gravatar image

@Pathe, je n'ai pas bien compris votre commentaire. J'imagine que tkz-euclide remplace tkz-2d, dans le sens : tout ce qui était réalisable avec tkz-2d est encore réalisable avec tkz-euclide, mais la syntaxe a peut-être changé.

(08 Fév '19, 14:12) touhami touhami's gravatar image

Mon problème est que j'utilise TeX Live : tkz-base et tkz-arith sont déjà installés. J'ai donc des erreurs de compilation à n'en plus finir.

Plutôt que de modifier mes packages installés, ne serait-il pas possible de modifier ce code pour le rendre TeX Live compatible ?

(08 Fév '19, 16:44) Pathe ♦♦ Pathe's gravatar image

Je comprends : si l'on installe les quatre packages en question dans le répertoire de travail, ils prennent le pas sur ceux installés par la distribution. Et ça compile !

(08 Fév '19, 20:36) Pathe ♦♦ Pathe's gravatar image
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.