tkz-euclide の問題

tkz-euclide の問題

優れた回答からコードをコピーした後、TikZ図で問題が発生していますここ:

  \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}

最初の問題は、コードをコンパイルしようとしたときに発生します。コメントしたい \usetkzobj{all}それ以外の場合は、エラー メッセージが表示されます。MikTeX パッケージ マネージャーを使用して tkz-euclide パッケージを更新しようとしましたが、問題は解決しません。参考になれば、MikTeX のスクリーンショットを以下に示します。

ここに画像の説明を入力してください

文書がコンパイルされると(前述のコマンドでコメントした) 次の図が得られます。

ここに画像の説明を入力してください

なぜラベルがずれているのか理解できません。元のコードから 1 ビットも変更していません。

比較のために、これはリンクされた回答からの画像です。https://i.stack.imgur.com/VUFYR.png

さらに、以下に示すように、合同を示す線を追加する方法を知りたいです。

ここに画像の説明を入力してください

ご意見をいただければ幸いです。

答え1

  1. 私は AndréC のコードを少し変更して使用しました。不要なものを削除しました。あなたのコードでは、それ自体をロードする\usepackage{tikz}ため削除しましたtkz-euclide

André のコードでは、行を変更しました\tkzDefPointWith[linear,K=0.6](A,a) \tkzGetPoint{D}。これはまだ有効ですが、\tkzDefPointWith[linear normed,K=8](A,a) \tkzGetPoint{D}AD の正確な長さがわかるので、この方法の方が望ましいです。

最後に、最初にポイントを定義して決定し、最後のステップとして、ポイントをトレースしてラベルを付け、マークすることをお勧めします。

ラベルの位置については、.cfg 構成ファイルを使用できます。ユーザーによっては、異なる位置になる場合があります。最善の解決策は、独自のスタイルを再定義することです。

 \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}

ここに画像の説明を入力してください

  1. 以下は tkz-elements と tkz-euclide を使用したバージョンです。コンパイルは lualatex で行われます。

定義部分は構文のみが変わります。三角形 T.ANL を定義します。これにより、直線 L.AN と L.AL の作成が回避されます。直線 L.AN と L.AL は、T.ANL.ab と T.ANL.ca (ab、bc、ca は三角形の 3 辺) によって定義されます。

二等分線はAからの二等分線を定義します。二等分線(2)はBからの二等分線を定義します。

za は線分 L.Aa の 2 番目の点です。L.Aa.pa は最初の点を指定し、L.Aa.pb は 2 番目の点を指定します。

zD = L.Aa: レポート(6)`は点DをAから6cmのところに置きます。

\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}

答え2

不要なコマンドのコードを軽量化しました。コードでは、ポイント B、D、h、g が不必要に定義されています。h と g を削除し、B と D に置き換えました。角度の半径が異なる場合、コーディングで角度が等しいと読み取る方が明確になると思われるため、角度の半径に若干の差異を設けました。ただし、これは変更できます。

 \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}

ここに画像の説明を入力してください

関連情報