점근선: 라벨을 포함하기 위해 세그먼트에 간격을 어떻게 만드나요?

점근선: 라벨을 포함하기 위해 세그먼트에 간격을 어떻게 만드나요?

라벨을 포함하기 위해 세그먼트에 간격을 만드는 방법이 궁금합니다. 내 예제 코드에서는 '16'이라는 레이블이 끝이 막힌 부분 중간에 있는 것이 이상적입니다.

또한 측정하는 세그먼트와 평행하게 실행되도록 엔드 바 세그먼트의 형식을 지정하는 더 효율적인 방법이 있습니까?

감사해요.

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

답변1

이것은 p.의 예에서 거의 문자 그대로 복사되었습니다. 42개이 좋은 튜토리얼. 나는 또한 asypictureB매뉴얼 작성자의 스타일을 사용하는 것을 선호합니다. 이것으로, 당신은 단지 실행해야 pdflatex -shell-escape합니다

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

얻기 위해

여기에 이미지 설명을 입력하세요

참고 olympiad.asy로 다운로드 받은 곳은이 웹 사이트. cse5.asy필요하지 않았습니다.

답변2

geometry.asy또 다른 가능성은 제공하는 루틴 markrightangle을 사용하는 것입니다 distance. 코드를 찾아주세요

  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);

그리고 그 결과

여기에 이미지 설명을 입력하세요

관련 정보