Problème avec tkz

Bonjour,

J’écris un livre sur les maths, donc beaucoup de figures faites avec tkz.

Tout se passait bien. Or mon éditeur me demande des modifications.

Beaucoup de figures ne passent plus depuis la mise à jour de ma TeX Live ; le package qui pose problème est apparemment tkz-euclide.

J’ai trouvé certains changements concernant le cercle:

on ne fait plus \tkzDrawCircle : dans certains cas il faut passer d’abord par
\tkzDefCircle et \tkzGetPoint.

Dans l’exemple suivant, je ne sais pas où cela coince. Merci pour une aide.

%%%%%%%%%%%%%%%%%%%%%%%%

\documentclass[a4,DIV=18]{scrartcl}

\usepackage{tkz-tab,tkz-fct}%,tkz-tukey}

\usepackage{xkeyval,ifthen}

\usepackage{tkz-euclide}

\usetikzlibrary{babel,arrows,shadows,decorations.pathmorphing,patterns,calc}

\usepackage{amsfonts,bbm,mathrsfs,amsmath,amssymb,amsthm}%,tkz-bbpage}

\usepackage[utf8]{inputenc}

\usepackage[upright]{fourier}

\usepackage[greek,french]{babel}

%\usepackage[usenames,dvipsnames,svgnames]{xcolor}

\usepackage{scratch}

\usepackage{tabularx,colortbl,xcolor}

\usepackage{multicol,url,pifont}

\setlength{\columnseprule}{.2pt}

\unitlength=1cm

\renewcommand\FrenchLabelItem{\textbullet}

\renewcommand{\arraystretch}{1.3}

\begin{document}

\begin{center}

%\begin{figure}[!h]

%\centering

\begin{tikzpicture}[scale=.7]

\clip(-.5,-.6) rectangle (13,4.5);

\tkzInit[xmin=0,xmax=7,ymin=0,ymax=4]

\tkzFctPar[id=fct1,domain=0:pi]{2*(t-sin(t))}{2*(1-cos(t))}

\tkzDefPoint(2pi,0){B} \tkzDefPoint(2pi,4){C} \tkzDefPoint(0,0){A}

\tkzDefMidPoint(A,B) \tkzGetPoint{O} \tkzDefMidPoint(B,C) \tkzGetPoint{D}

\tkzDefMidPoint(A,C) \tkzGetPoint{E}

\tkzDefPoint(pi-2,2){F}

\tkzDefPoint(1.8,0){N} \tkzDefPoint(2*pi-1.8,0){P}

\tkzDefPoint(1.8,2){En} \tkzDefPoint(2*pi-1.8,2){Ep}

\tkzDefPoint(2*((.9)-sin(.9)),2*(1-cos(.9))){K}

\tkzDefPoint(2*(pi-.9-sin(pi-.9)),2*(1-cos(pi-.9))){G}

\tkzDefLineparallel=through K \tkzGetPoint{K’}

\tkzInterLL(B,C)(K,K’) \tkzGetPoint{M}

\tkzDefLineparallel=through G \tkzGetPoint{G’}

\tkzInterLL(B,C)(G,G’) \tkzGetPoint{I}

\tkzInterLL(K,M)(A,C) \tkzGetPoint{L}

\tkzDefPointByprojection=onto A–B{V}% \tkzGetPoint{V}

\tkzInterLL(G,I)(A,C) \tkzGetPoint{H}

%\tkzDrawSegments[dashed](P,Ep N,En)

\tkzDrawSegments(A,B B,C A,C F,D)

\tkzLabelPointsbelow

\tkzLabelPointsright

\tkzLabelPointsabove

%\tkzLabelPointabove{$E_n$}\tkzLabelPointabove{$E_p$}

%\tkzDrawArcdashed(P)

\tkzInterLL(En,N)(K,M) \tkzGetPoint{Y}

\tkzLabelPointsabove left

%\tkzLabelPointsleft

%\tkzLabelPointsabove right

%\tkzDrawPoints(A,B,C,D,E,F,N,P,K,G,M,O,I,L,V,Ep,En,Y)

\begin{scope}[shift={(10cm,2cm)},rotate=-90]

\tkzInit[xmin=-2,xmax=2,ymin=0,ymax=4]

\tkzDefPoint(0,0){e} \tkzDefPoint(0,-2){a} \tkzDefPoint(0,2){b}

\tkzDefCircle(e,a)

\tkzDefPoint(0:2){o}

\tkzDefPoint((-90)+((180*.9)/pi):2){n}

\tkzDefPointByreflection=over e–o \tkzGetPoint{p}

\tkzDefPointBysymmetry=center e \tkzGetPoint{p’}

\tkzDefPointBysymmetry=center e \tkzGetPoint{n’}

\tkzDefPointByprojection=onto p–p’ \tkzGetPoint{x}

\tkzDefPointByprojection=onto n–e \tkzGetPoint{y}

%\tkzDefPointBysymmetry=center x \tkzGetPoint{z}

\tkzDrawPoints(e,a,b,n,p,o)

\tkzDrawSegments(p,p’ a,b n,e)

\begin{scope}

%\tkzDrawSegmentline width=1.5pt

\tkzDrawSegmentdashed,line width=1.5pt

\tkzDrawCircleline width=1.5pt

\end{scope}

\tkzLabelPointsright

\tkzLabelPointsleft

\tkzLabelPointsbelow right

%\tkzLabelPointsright

\tkzLabelPointsbelow

%\tkzLabelPointsabove left

\tkzLabelPointsabove

%\tkzMarkRightAngle(a,x,e)

%\tkzMarkRightAngle(e,y,a)

\end{scope}

\begin{scope}

%\tkzDrawSegmentsline width=1.5pt

\tkzDrawSegmentsdashed,line width=1.5pt

\tkzDrawCircleline width=1.5pt

\end{scope}

\end{tikzpicture}

%\caption{Le point $o$ de la roulette se trouve en $O$}\label{oO}

%\end{figure}

\end{center}

\end{document} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Bonjour

Il semblerait que ça marche en remplaçant :

\tkzDefCircle(e,a)

par :

\tkzDefCircleThrough(e,a)

À mon humble avis, c’est un bug (traitement erroné du manque d’option
dans \tkzDefCircle) qu’il faudrait signaler à l’auteur.

Amicalement,

François

Le 15/09/2022 à 14:43, michel a écrit :

Bonjour,

J’écris un livre sur les maths, donc beaucoup de figures faites avec tkz.

Tout se passait bien. Or mon éditeur me demande des modifications.

Beaucoup de figures ne passent plus depuis la mise à jour de ma
TexLive; le package qui pose problème est apparemment tkzeuclide.

J’ai trouvé certains changements concernant le cercle:

on ne fait plus

\tkzDrawCircle dans certains cas il faut passer d’abord par
\tkzDefCircle et \tkzGetPoint.

Dans l’exemple suivant, je ne sais pas où cela coince. Merci pour une
aide.

%%%%%%%%%%%%%%%%%%%%%%%%

\documentclass[a4,DIV=18]{scrartcl}
\usepackage{tkz-tab,tkz-fct}%,tkz-tukey}
\usepackage{xkeyval,ifthen}
\usepackage{tkz-euclide}

\usetikzlibrary{babel,arrows,shadows,decorations.pathmorphing,patterns,calc}
\usepackage{amsfonts,bbm,mathrsfs,amsmath,amssymb,amsthm}%,tkz-bbpage}
\usepackage[utf8]{inputenc}
\usepackage[upright]{fourier}
\usepackage[greek,french]{babel}
%\usepackage[usenames,dvipsnames,svgnames]{xcolor}
\usepackage{scratch}
\usepackage{tabularx,colortbl,xcolor}
\usepackage{multicol,url,pifont}
\setlength{\columnseprule}{.2pt}
\unitlength=1cm
\renewcommand\FrenchLabelItem{\textbullet}
\renewcommand{\arraystretch}{1.3}
\begin{document}
\begin{center}
%\begin{figure}[!h]
%\centering
\begin{tikzpicture}[scale=.7]
\clip(-.5,-.6) rectangle (13,4.5);
\tkzInit[xmin=0,xmax=7,ymin=0,ymax=4]
\tkzFctPar[id=fct1,domain=0:pi]{2*(t-sin(t))}{2*(1-cos(t))}
\tkzDefPoint(2pi,0){B} \tkzDefPoint(2pi,4){C} \tkzDefPoint(0,0){A}
\tkzDefMidPoint(A,B) \tkzGetPoint{O} \tkzDefMidPoint(B,C) \tkzGetPoint{D}
\tkzDefMidPoint(A,C) \tkzGetPoint{E}
\tkzDefPoint(pi-2,2){F}
\tkzDefPoint(1.8,0){N} \tkzDefPoint(2pi-1.8,0){P}
\tkzDefPoint(1.8,2){En} \tkzDefPoint(2
pi-1.8,2){Ep}
\tkzDefPoint(2*((.9)-sin(.9)),2*(1-cos(.9))){K}
\tkzDefPoint(2*(pi-.9-sin(pi-.9)),2*(1-cos(pi-.9))){G}
\tkzDefLineparallel=through K \tkzGetPoint{K’}
\tkzInterLL(B,C)(K,K’) \tkzGetPoint{M}
\tkzDefLineparallel=through G \tkzGetPoint{G’}
\tkzInterLL(B,C)(G,G’) \tkzGetPoint{I}
\tkzInterLL(K,M)(A,C) \tkzGetPoint{L}
\tkzDefPointByprojection=onto A–B{V}% \tkzGetPoint{V}
\tkzInterLL(G,I)(A,C) \tkzGetPoint{H}
%\tkzDrawSegments[dashed](P,Ep N,En)
\tkzDrawSegments(A,B B,C A,C F,D)
\tkzLabelPointsbelow
\tkzLabelPointsright
\tkzLabelPointsabove
%\tkzLabelPointabove{$E_n$}\tkzLabelPointabove{$E_p$}
%\tkzDrawArcdashed(P)
\tkzInterLL(En,N)(K,M) \tkzGetPoint{Y}
\tkzLabelPointsabove left
%\tkzLabelPointsleft
%\tkzLabelPointsabove right
%\tkzDrawPoints(A,B,C,D,E,F,N,P,K,G,M,O,I,L,V,Ep,En,Y)
\begin{scope}[shift={(10cm,2cm)},rotate=-90]
\tkzInit[xmin=-2,xmax=2,ymin=0,ymax=4]
\tkzDefPoint(0,0){e} \tkzDefPoint(0,-2){a} \tkzDefPoint(0,2){b}
\tkzDefCircle(e,a)
\tkzDefPoint(0:2){o}
\tkzDefPoint((-90)+((180*.9)/pi):2){n}
\tkzDefPointByreflection=over e–o \tkzGetPoint{p}
\tkzDefPointBysymmetry=center e \tkzGetPoint{p’}
\tkzDefPointBysymmetry=center e \tkzGetPoint{n’}
\tkzDefPointByprojection=onto p–p’ \tkzGetPoint{x}
\tkzDefPointByprojection=onto n–e \tkzGetPoint{y}
%\tkzDefPointBysymmetry=center x \tkzGetPoint{z}
\tkzDrawPoints(e,a,b,n,p,o)
\tkzDrawSegments(p,p’ a,b n,e)
\begin{scope}
%\tkzDrawSegmentline width=1.5pt
\tkzDrawSegmentdashed,line width=1.5pt
\tkzDrawCircleline width=1.5pt
\end{scope}
\tkzLabelPointsright
\tkzLabelPointsleft
\tkzLabelPointsbelow right
%\tkzLabelPointsright
\tkzLabelPointsbelow
%\tkzLabelPointsabove left
\tkzLabelPointsabove
%\tkzMarkRightAngle(a,x,e)
%\tkzMarkRightAngle(e,y,a)
\end{scope}
\begin{scope}
%\tkzDrawSegmentsline width=1.5pt
\tkzDrawSegmentsdashed,line width=1.5pt
\tkzDrawCircleline width=1.5pt
\end{scope}
\end{tikzpicture}
%\caption{Le point $o$ de la roulette se trouve en $O$}\label{oO}
%\end{figure}
\end{center}
\end{document} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Salut François,

Je dois rendre mon livre avec corrections avant le 24 septembre, jour où
il part à l’imprimerie. Je n’ai pas le temps, j’ai donc remis l’ancienne
version de la TexLive.

Je vais quand même essayer ce que tu me dis lorsque tout sera OK

Merci pour ta réponse.

Michel

Le 15/09/2022 à 15:47, Pétiard François a écrit :

Bonjour

Il semblerait que ça marche en remplaçant :

\tkzDefCircle(e,a)

par :

\tkzDefCircleThrough(e,a)

À mon humble avis, c’est un bug (traitement erroné du manque d’option
dans \tkzDefCircle) qu’il faudrait signaler à l’auteur.

Amicalement,

François

Le 15/09/2022 à 14:43, michel a écrit :

Bonjour,

J’écris un livre sur les maths, donc beaucoup de figures faites avec tkz.

Tout se passait bien. Or mon éditeur me demande des modifications.

Beaucoup de figures ne passent plus depuis la mise à jour de ma
TexLive; le package qui pose problème est apparemment tkzeuclide.

J’ai trouvé certains changements concernant le cercle:

on ne fait plus

\tkzDrawCircle dans certains cas il faut passer d’abord par
\tkzDefCircle et \tkzGetPoint.

Dans l’exemple suivant, je ne sais pas où cela coince. Merci pour une
aide.

%%%%%%%%%%%%%%%%%%%%%%%%

\documentclass[a4,DIV=18]{scrartcl}
\usepackage{tkz-tab,tkz-fct}%,tkz-tukey}
\usepackage{xkeyval,ifthen}
\usepackage{tkz-euclide}

\usetikzlibrary{babel,arrows,shadows,decorations.pathmorphing,patterns,calc}
\usepackage{amsfonts,bbm,mathrsfs,amsmath,amssymb,amsthm}%,tkz-bbpage}
\usepackage[utf8]{inputenc}
\usepackage[upright]{fourier}
\usepackage[greek,french]{babel}
%\usepackage[usenames,dvipsnames,svgnames]{xcolor}
\usepackage{scratch}
\usepackage{tabularx,colortbl,xcolor}
\usepackage{multicol,url,pifont}
\setlength{\columnseprule}{.2pt}
\unitlength=1cm
\renewcommand\FrenchLabelItem{\textbullet}
\renewcommand{\arraystretch}{1.3}
\begin{document}
\begin{center}
%\begin{figure}[!h]
%\centering
\begin{tikzpicture}[scale=.7]
\clip(-.5,-.6) rectangle (13,4.5);
\tkzInit[xmin=0,xmax=7,ymin=0,ymax=4]
\tkzFctPar[id=fct1,domain=0:pi]{2*(t-sin(t))}{2*(1-cos(t))}
\tkzDefPoint(2pi,0){B} \tkzDefPoint(2pi,4){C} \tkzDefPoint(0,0){A}
\tkzDefMidPoint(A,B) \tkzGetPoint{O} \tkzDefMidPoint(B,C) \tkzGetPoint{D}
\tkzDefMidPoint(A,C) \tkzGetPoint{E}
\tkzDefPoint(pi-2,2){F}
\tkzDefPoint(1.8,0){N} \tkzDefPoint(2pi-1.8,0){P}
\tkzDefPoint(1.8,2){En} \tkzDefPoint(2
pi-1.8,2){Ep}
\tkzDefPoint(2*((.9)-sin(.9)),2*(1-cos(.9))){K}
\tkzDefPoint(2*(pi-.9-sin(pi-.9)),2*(1-cos(pi-.9))){G}
\tkzDefLineparallel=through K \tkzGetPoint{K’}
\tkzInterLL(B,C)(K,K’) \tkzGetPoint{M}
\tkzDefLineparallel=through G \tkzGetPoint{G’}
\tkzInterLL(B,C)(G,G’) \tkzGetPoint{I}
\tkzInterLL(K,M)(A,C) \tkzGetPoint{L}
\tkzDefPointByprojection=onto A–B{V}% \tkzGetPoint{V}
\tkzInterLL(G,I)(A,C) \tkzGetPoint{H}
%\tkzDrawSegments[dashed](P,Ep N,En)
\tkzDrawSegments(A,B B,C A,C F,D)
\tkzLabelPointsbelow
\tkzLabelPointsright
\tkzLabelPointsabove
%\tkzLabelPointabove{$E_n$}\tkzLabelPointabove{$E_p$}
%\tkzDrawArcdashed(P)
\tkzInterLL(En,N)(K,M) \tkzGetPoint{Y}
\tkzLabelPointsabove left
%\tkzLabelPointsleft
%\tkzLabelPointsabove right
%\tkzDrawPoints(A,B,C,D,E,F,N,P,K,G,M,O,I,L,V,Ep,En,Y)
\begin{scope}[shift={(10cm,2cm)},rotate=-90]
\tkzInit[xmin=-2,xmax=2,ymin=0,ymax=4]
\tkzDefPoint(0,0){e} \tkzDefPoint(0,-2){a} \tkzDefPoint(0,2){b}
\tkzDefCircle(e,a)
\tkzDefPoint(0:2){o}
\tkzDefPoint((-90)+((180*.9)/pi):2){n}
\tkzDefPointByreflection=over e–o \tkzGetPoint{p}
\tkzDefPointBysymmetry=center e \tkzGetPoint{p’}
\tkzDefPointBysymmetry=center e \tkzGetPoint{n’}
\tkzDefPointByprojection=onto p–p’ \tkzGetPoint{x}
\tkzDefPointByprojection=onto n–e \tkzGetPoint{y}
%\tkzDefPointBysymmetry=center x \tkzGetPoint{z}
\tkzDrawPoints(e,a,b,n,p,o)
\tkzDrawSegments(p,p’ a,b n,e)
\begin{scope}
%\tkzDrawSegmentline width=1.5pt
\tkzDrawSegmentdashed,line width=1.5pt
\tkzDrawCircleline width=1.5pt
\end{scope}
\tkzLabelPointsright
\tkzLabelPointsleft
\tkzLabelPointsbelow right
%\tkzLabelPointsright
\tkzLabelPointsbelow
%\tkzLabelPointsabove left
\tkzLabelPointsabove
%\tkzMarkRightAngle(a,x,e)
%\tkzMarkRightAngle(e,y,a)
\end{scope}
\begin{scope}
%\tkzDrawSegmentsline width=1.5pt
\tkzDrawSegmentsdashed,line width=1.5pt
\tkzDrawCircleline width=1.5pt
\end{scope}
\end{tikzpicture}
%\caption{Le point $o$ de la roulette se trouve en $O$}\label{oO}
%\end{figure}
\end{center}
\end{document} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%