Comandos tkz-euclide que cambian la posición de una tikzfigure: es necesario que se detenga

Comandos tkz-euclide que cambian la posición de una tikzfigure: es necesario que se detenga

Es raro que vaya a buscar una solución a un problema en ChatGPT y Google, y no encuentre absolutamente nada que mencione ni remotamente el problema. Quizás simplemente soy terrible buscando.

En el siguiente código, tengo cuatro minipáginas que muestran diferentes tipos de triángulos. Usar comandos tkx-euclide en los triángulos isósceles y equiláteros (pero no en los escalenos). Está centrando ambos diagramas y desplazándolos verticalmente. No los quiero centrados ni los quiero desplazados verticalmente. Entonces necesito una solución al problema. Creo que los comandos \tkzLabelAngle están causando el problema, pero necesito una forma de usar ese comando sin problemas de posicionamiento.

Gracias

\begin{minipage}[t]{0.475\linewidth}
    \textsf{\textbf{Scalene Triangle}}
    \newline\newline
        \begin{tikzpicture}
            \draw (0,0) -- (1,2) -- (3,1.75) -- (0,0);
        \end{tikzpicture}
\end{minipage}
\begin{minipage}[t]{0.475\linewidth}
    \textsf{\textbf{Isosceles Triangle}}
    \newline\newline
        \begin{tikzpicture}
            \coordinate (A) at (0,0);
            \coordinate (B) at (4,0);
            \coordinate (C) at (2,1.5);
            \draw (0,0) -- (4,0) -- (2,1.5) -- (0,0);
            \tkzMarkSegment[color=black,pos=.5,mark=|](A,C)
            \tkzMarkSegment[color=black,pos=.5,mark=|](B,C)
            \tkzLabelAngle[pos=-0.33](C,A,B){$\circ$}
            \tkzLabelAngle[pos=0.33](C,B,A){$\circ$}
        \end{tikzpicture}
\end{minipage}
\newline\newline
\begin{minipage}[t]{0.475\linewidth}
    \textsf{\textbf{Equilateral Triangle}}
    \newline\newline
        \begin{tikzpicture}
            \coordinate (A) at (0,0);
            \coordinate (B) at (3,0);
            \coordinate (C) at (1.5,{1.5*sqrt(3)});
            
            \draw (A) -- (B) -- (C) -- cycle;
            \tkzLabelAngle[pos=-0.33](C,A,B){$\circ$}
            \tkzLabelAngle[pos=0.33](C,B,A){$\circ$}
            \tkzLabelAngle[pos=-0.33](B,C,A){$\circ$}
        \end{tikzpicture}
\end{minipage}
\begin{minipage}[t]{0.475\linewidth}
    \textsf{\textbf{Right Triangle}}
    \newline\newline
        \begin{tikzpicture}
            
        \end{tikzpicture}
\end{minipage}

Respuesta1

Es mejor dibujarlos todos en una sola imagen tikz con diferentes scopey ubicarlos con diferentes shiftvalores. Creo que el posvalor clave negativo podría causar un cuadro delimitador más grande. Es mejor utilizar valores positivos si es posible.

\documentclass{standalone}
\usepackage{tkz-euclide}
\begin{document}
\begin{tikzpicture}
\begin{scope}
\draw (0,0) -- (1,2) -- (3,1.75) -- cycle;
\node at (1.5,2) [above=0.5cm] {\textsf{\textbf{Scalene Triangle}}};
\end{scope}
\begin{scope}[xshift=6cm]
\coordinate (A) at (0,0);
\coordinate (B) at (4,0);
\coordinate (C) at (2,1.5);
\draw (0,0) -- (4,0) -- (2,1.5) -- cycle;
\tkzMarkSegment[color=black,pos=.5,mark=|](A,C)
\tkzMarkSegment[color=black,pos=.5,mark=|](B,C)
\tkzLabelAngle[pos=-0.33](C,A,B){$\circ$}
\tkzLabelAngle[pos=0.33](C,B,A){$\circ$}
\node at (C)  [above=1cm] {\textsf{\textbf{Isosceles Triangle}}};
\end{scope}
\begin{scope}[yshift=-4cm]
\coordinate (A) at (0,0);
\coordinate (B) at (3,0);
\coordinate (C) at (1.5,{1.5*sqrt(3)});
\draw (A) -- (B) -- (C) -- cycle;
\tkzLabelAngle[pos=0.33](B,A,C){$\circ$}
\tkzLabelAngle[pos=0.33](C,B,A){$\circ$}
\tkzLabelAngle[pos=0.33](A,C,B){$\circ$}
\node at (C) [above=0.5cm] {\textsf{\textbf{Equilateral Triangle}}};
\end{scope}
\begin{scope}[shift={(6.5cm,-4cm)}]
\coordinate (A) at (0,0);
\coordinate (B) at (3,0);
\coordinate (C) at (3,{1.5*sqrt(3)});
\draw (A) -- (B) -- (C) -- cycle;
\node at (1.5,{1.5*sqrt(3)}) [above=0.5cm] {\textsf{\textbf{Right Triangle}}};
\end{scope}
\end{tikzpicture}
\end{document}

ingrese la descripción de la imagen aquí

################################################## ############################

Aquí hay un ejemplo que muestra que el posvalor negativo amplía el cuadro delimitador. El mismo dibujo pero el posvalor negativo hace que los ángulos superior e inferior izquierdo tengan un cuadro delimitador más grande.

\documentclass{report}
\usepackage{tkz-euclide}
\begin{document}
\begin{tikzpicture}
\coordinate (A) at (0,0);
\coordinate (B) at (3,0);
\coordinate (C) at (1.5,{1.5*sqrt(3)});
\draw (A) -- (B) -- (C) -- cycle;
\tkzLabelAngle[pos=0.33](B,A,C){$\circ$}
\tkzLabelAngle[pos=0.33](C,B,A){$\circ$}
\tkzLabelAngle[pos=0.33](A,C,B){$\circ$}
\draw (current bounding box.south west) rectangle (current bounding box.north east);
\end{tikzpicture}

\begin{tikzpicture}
\coordinate (A) at (0,0);
\coordinate (B) at (3,0);
\coordinate (C) at (1.5,{1.5*sqrt(3)});
\draw (A) -- (B) -- (C) -- cycle;
\tkzLabelAngle[pos=-0.33](C,A,B){$\circ$}
\tkzLabelAngle[pos=0.33](C,B,A){$\circ$}
\tkzLabelAngle[pos=-0.33](B,C,A){$\circ$}
\draw (current bounding box.south west) rectangle (current bounding box.north east);
\end{tikzpicture}
\end{document}

ingrese la descripción de la imagen aquí

Úselo minipagecon valor positivo posy \noindentpara la primera línea. ¿El resultado coincidió con lo que esperaba? Utilizo reportla clase de documento como ejemplo y muestro el marco de la página.

\documentclass{report}
\usepackage{showframe}
\usepackage{tkz-euclide}
\begin{document}
\noindent\begin{minipage}[t]{0.475\linewidth}
    \textsf{\textbf{Scalene Triangle}}
    \newline\newline
        \begin{tikzpicture}
            \draw (0,0) -- (1,2) -- (3,1.75) -- (0,0);
        \end{tikzpicture}
\end{minipage}
\begin{minipage}[t]{0.475\linewidth}
    \textsf{\textbf{Isosceles Triangle}}
    \newline\newline
        \begin{tikzpicture}
            \coordinate (A) at (0,0);
            \coordinate (B) at (4,0);
            \coordinate (C) at (2,1.5);
            \draw (0,0) -- (4,0) -- (2,1.5) -- (0,0);
            \tkzMarkSegment[color=black,pos=.5,mark=|](A,C)
            \tkzMarkSegment[color=black,pos=.5,mark=|](B,C)
            \tkzLabelAngle[pos=0.33](B,A,C){$\circ$}
            \tkzLabelAngle[pos=0.33](C,B,A){$\circ$}
        \end{tikzpicture}
\end{minipage}
\newline\newline
\begin{minipage}[t]{0.475\linewidth}
    \textsf{\textbf{Equilateral Triangle}}
    \newline\newline
        \begin{tikzpicture}
            \coordinate (A) at (0,0);
            \coordinate (B) at (3,0);
            \coordinate (C) at (1.5,{1.5*sqrt(3)});
            
            \draw (A) -- (B) -- (C) -- cycle;
            \tkzLabelAngle[pos=0.33](B,A,C){$\circ$}
            \tkzLabelAngle[pos=0.33](C,B,A){$\circ$}
            \tkzLabelAngle[pos=0.33](A,C,B){$\circ$}
        \end{tikzpicture}
\end{minipage}
\begin{minipage}[t]{0.475\linewidth}
\textsf{\textbf{Right Triangle}}
\newline\newline
\begin{tikzpicture}
            
\end{tikzpicture}
\end{minipage}
\end{document}

ingrese la descripción de la imagen aquí

Respuesta2

  1. Primera solución. No trabajas específicamente con tkz-euclide. Te mezclas con TikZ y no es bueno.

No usas valores negativos porque, poscomo dice Tom: estás agrandando el cuadro delimitador.

Con clip puedes controlar el bbox (ver 2)

    \begin{tikzpicture}
        \tkzDefPoints{0/0/A,3/0/B}
        \tkzDefTriangle[equilateral](A,B)\tkzGetPoint{C}
        \tkzDrawPolygon(A,B,C)
        \tkzLabelAngle[pos=0.33](B,A,C){$\circ$}
        \tkzLabelAngle[pos=0.33](C,B,A){$\circ$}
        \tkzLabelAngle[pos=0.33](A,C,B){$\circ$}
    \end{tikzpicture}
  1. Puedes controlar el bbox con\tkzClipPolygon(A,B,C)

    \begin{tikzpicture}
         \coordinate (A) at (0,0);
         \coordinate (B) at (3,0);
         \coordinate (C) at (1.5,{1.5*sqrt(3)});
         \draw (A) -- (B) -- (C) -- cycle;
         \tkzClipPolygon(A,B,C)
         \tkzLabelAngle[pos=-0.33](C,A,B){$\circ$}
         \tkzLabelAngle[pos=0.33](C,B,A){$\circ$}
         \tkzLabelAngle[pos=-0.33](B,C,A){$\circ$}
     \end{tikzpicture}
    

información relacionada