Problema com tkz-euclide

Problema com tkz-euclide

Estou tendo problemas com uma figura do TikZ depois de copiar o código de uma excelente respostaaqui:

  \documentclass[11pt,a4paper]{article}
    \usepackage{blindtext}
    \usepackage{tkz-euclide}
    \usetkzobj{all}
    \usepackage{color}
   \begin{document}
   \begin{center}
  \begin{tikzpicture}
  \tkzDefPoint(0,0){M}
 \tkzDefPoint(1.5,0){A}
\tkzLabelPoints[below](A)
\tkzDefPoint(12,0){N}
\tkzDefPoint(10.5,0){B}
\tkzLabelPoints[below](B)
\tkzDrawSegment(M,N)
\tkzDefPoint(9.0,7){L}
\tkzDefPoint(7,5.1){C}
\tkzLabelPoints[above](C)
\tkzDrawSegment(A,L)
  \tkzDefLine[bisector](B,A,C)\tkzGetPoint{a}
  \tkzDrawSegment(A,a)
  \tkzDefPointWith[linear,K=0.6](A,a) \tkzGetPoint{D}
  \tkzDefPointBy[projection=onto A--C](D)
  \tkzGetPoint{h}
  \tkzDrawSegment(D,h)
  \tkzMarkRightAngle[fill=lightgray](A,h,D)
  %
  \tkzDefPointBy[projection=onto A--B](D)
  \tkzGetPoint{g}
  \tkzDrawSegment(D,g)
  \tkzMarkRightAngle[fill=lightgray](A,g,D)
  \end{tikzpicture}
  \end{center}
  \end{document}

Meu primeiro problema surge ao tentar compilar o código.preciso comentar \usetkzobj{all}. Caso contrário, recebo uma mensagem de erro. Tentei atualizar o pacote tkz-euclide usando o MikTeX Package Manager, mas o problema persiste. Se for útil, esta é uma captura de tela do MikTeX:

insira a descrição da imagem aqui

Quando o documento é compilado (com o comando acima mencionadocomentou) Eu recebo a seguinte imagem.

insira a descrição da imagem aqui

Não consigo entender por que os rótulos foram deslocados. Não mudei um único iota do código original.

Para efeito de comparação, esta é a imagem da resposta vinculada.https://i.stack.imgur.com/VUFYR.png

Além disso, gostaria de saber como adicionar linhas indicando congruência, conforme mostrado abaixo:

insira a descrição da imagem aqui

Muito obrigado por qualquer feedback.

Responder1

  1. Utilizei o código do AndréC com algumas modificações. Retirei o que era desnecessário. No seu código, removi \usepackage{tikz}porque tkz-euclidecarrega ele mesmo.

No código do André, alterei a linha \tkzDefPointWith[linear,K=0.6](A,a) \tkzGetPoint{D}. Ainda é válido, mas \tkzDefPointWith[linear normed,K=8](A,a) \tkzGetPoint{D}é preferível, pois assim sabemos a duração exata do AD.

Finalmente, é uma boa ideia definir e determinar primeiro os pontos e depois, como último passo, traçá-los, rotulá-los e marcá-los.

Para posições de rótulos, um arquivo de configuração .cfg está disponível. Dependendo do usuário, pode ser diferente, resultando em posições diferentes. A melhor solução é redefinir seus próprios estilos.

 \documentclass[11pt,a4paper]{article}
 \usepackage{tkz-euclide}
 \begin{document}

  \begin{tikzpicture}
 % definition
  \tkzDefPoint(0,0){M}
  \tkzDefPoint(12,0){N}
  \tkzDefPoint(1.5,0){A}
  \tkzDefPoint(9,7){L}
  % calculate
  \tkzDefLine[bisector](N,A,L)             \tkzGetPoint{a}
  \tkzDefPointWith[linear normed,K=8](A,a) \tkzGetPoint{D}
  \tkzDefPointBy[projection=onto A--L](D)  \tkzGetPoint{C}
  \tkzDefPointBy[projection=onto A--N](D)  \tkzGetPoint{B}
  % drawing
  \tkzDrawSegments(D,B D,C A,a A,L M,N)
  % labeling
  \tkzLabelPoints[below](A,B)
  \tkzLabelPoints[above](C)
  % marking
  \tkzMarkRightAngles[fill=lightgray](A,C,D A,B,D)
  \tkzMarkSegments[mark=||](C,D D,B)
  \tkzMarkAngles[mark=|,size=2](B,A,D)
  \tkzMarkAngle[mark=|,size=2.1](D,A,C)
  \end{tikzpicture}

  \end{document}

insira a descrição da imagem aqui

  1. Aqui está uma versão com tkz-elements e tkz-euclide. A compilação é feita com lualatex.

A parte da definição muda apenas na sintaxe. Definimos o triângulo T.ANL. Isso evita a criação das retas L.AN e L.AL, que serão definidas por T.ANL.ab e T.ANL.ca (ab, bc e ca são os três lados do triângulo).

bissetriz define a bissetriz de A. bissetriz (2) define a bissetriz de B etc.

za é o segundo ponto da reta L.Aa . L.Aa.pa designa o primeiro e L.Aa.pb o segundo ponto.

zD = L.Aa: relatório (6)` coloca o ponto D a 6 cm de A.

\documentclass[11pt,a4paper]{article}
 \usepackage{tkz-euclide,tkz-elements}
 \begin{document}

\begin{tkzelements}
    -- definition
 z.M = point : new (0,0)
 z.N = z.M   : east (12)
 z.A = point : new (1.5,0)
 z.L = point : new (9,7)
 T.ANL = triangle : new (z.A,z.N,z.L)
   -- calculate
 L.Aa = T.ANL : bisector ()
 z.a  = L.Aa.pb
 z.D  = L.Aa :  report (6)
 z.B  = T.ANL.ab : projection (z.D)
 z.C  = T.ANL.ca : projection (z.D)
\end{tkzelements}

  \begin{tikzpicture}
\tkzGetNodes
 % drawing
 \tkzDrawSegments(B,D D,C A,a A,L M,N)
% labeling
 \tkzLabelPoints[below](A,B)
 \tkzLabelPoints[above](C)
% marking
 \tkzMarkRightAngles[fill=lightgray](A,C,D A,B,D)
 \tkzMarkSegments[mark=||](C,D D,B)
 \tkzMarkAngles[mark=|,size=2](B,A,D)
 \tkzMarkAngle[mark=|,size=2.1](D,A,C)
\end{tikzpicture}

\end{document}

Responder2

Aliviei o código de comandos desnecessários. O código define desnecessariamente os pontos B, D, h e g. Removi h e g e os substituí por B e D. Coloquei uma ligeira discrepância no raio dos ângulos, pois parece mais claro ler que os ângulos são iguais à codificação quando seu raio difere. Mas você pode mudar isso.

 \documentclass[11pt,a4paper]{article}
 \usepackage{blindtext}
 \usepackage{tkz-euclide}
 \usepackage{color}
 \begin{document}
   \begin{center}
  \begin{tikzpicture}
  \tkzDefPoint(0,0){M}
 \tkzDefPoint(1.5,0){A}
\tkzLabelPoints[below](A)
\tkzDefPoint(12,0){N}

\tkzDrawSegment(M,N)
\tkzDefPoint(9.0,7){L}

\tkzDrawSegment(A,L)
  \tkzDefLine[bisector](N,A,L)\tkzGetPoint{a}
  \tkzDrawSegment(A,a)
  \tkzDefPointWith[linear,K=0.6](A,a) \tkzGetPoint{D}
  \tkzDefPointBy[projection=onto A--L](D)

  \tkzGetPoint{C}
  \tkzLabelPoints[above](C)

  \tkzMarkRightAngle[fill=lightgray](A,C,D)

  \tkzDefPointBy[projection=onto A--N](D)
  \tkzGetPoint{B}
  \tkzLabelPoints[below](B)
  \tkzDrawSegments(D,B D,C)
    \tkzMarkSegments[mark=||](C,D D,B)
    \tkzMarkAngle[mark=|,size=2](B,A,D)
    \tkzMarkAngle[mark=|,size=2.1](D,A,C)
  \tkzMarkRightAngle[fill=lightgray](A,B,D)
  \end{tikzpicture}
  \end{center}
  \end{document}

insira a descrição da imagem aqui

informação relacionada