Asíntota: ¿Cómo hago un espacio en un segmento para incluir una etiqueta?

Asíntota: ¿Cómo hago un espacio en un segmento para incluir una etiqueta?

Me pregunto cómo hacer un espacio en un segmento para incluir una etiqueta. En mi código de ejemplo, lo ideal sería que la etiqueta '16' estuviera en un espacio en el medio del segmento con barra final.

Además, ¿existe una manera más eficiente de formatear el segmento con barra final para que corra paralelo al segmento que mide?

Gracias.

\documentclass{article}
\usepackage{asymptote}

\begin{document}

\begin{asy}
import olympiad;
import cse5;
size(4cm);
pair G,T,P,Q,A,B;
G=(0,0); T=(9,0); P=(16,0); Q=(9,-7.937);A=(0,2); B=(16,2);
draw(G--Q--P--G);
draw(Q--T);
draw(A--B, Bars);
draw(rightanglemark(G,T,Q,45));
draw(rightanglemark(P,Q,G,45));
label("$y$",align=N,point(G--T,0.5));
label("$12$",align=SW,point(G--Q,0.5));
label("$16$",midpoint(A--B),N);
\end{asy}

\end{document}

Respuesta1

Esto está copiado casi literalmente del ejemplo de la p. 42 deeste bonito tutorial. También prefiero usar el asypictureBestilo del autor del manual. Con esto, sólo necesitas pdflatex -shell-escapeejecutar

\documentclass{standalone}
\usepackage{asypictureB}

\begin{document}

\begin{asypicture}{name=Label}
import olympiad;
//import cse5;
size(4cm);
pair G,T,P,Q,A,B;
G=(0,0); T=(9,0); P=(16,0); Q=(9,-7.937);A=(0,2); B=(16,2);
draw(G--Q--P--G);
draw(Q--T);
draw(rightanglemark(G,T,Q,45));
draw(rightanglemark(P,Q,G,45));
label("$y$",align=N,point(G--T,0.5));
label("$12$",align=SW,point(G--Q,0.5));
//label("$16$",midpoint(A--B),N);
pen fillpen = white;
Label mylabel = Label("$16$", align=(0,0), position=MidPoint,
filltype=Fill(fillpen));
draw(A--B, L=mylabel, Bars);
\end{asypicture}

\end{document}

Llegar

ingrese la descripción de la imagen aquí

Tenga en cuenta que descargado olympiad.asydesdeeste sitio web. cse5.asyno era necesario.

Respuesta2

Otra posibilidad es utilizar geometry.asylo que proporciona markrightangleuna distancerutina. Por favor encuentra el código

  import geometry;
  size(4cm);
  pair G,T,P,Q;
  G=(0,0); T=(9,0); P=(16,0); Q=(9,-7.937);
  draw(G--Q--P--G);
  draw(Q--T);
  perpendicularmark(T, dir(-135));
  markrightangle(P,Q,G);
  label("$y$",align=N,point(G--T,0.5));
  label("$12$",align=SW,point(G--Q,0.5));

  distance("$16$",G,P,-6mm);

y el resultado

ingrese la descripción de la imagen aquí

información relacionada