저는 latex와 Tikz를 처음 접했고 다음 두 이미지를 재현하려고 합니다.
지금까지 내가 얻은 것은 다음과 같습니다.
\documentclass{article}
\usepackage{amsmath}
\usepackage{pgfplots}
\begin{document}
Words
\section{section name here}
Words
\begin{figure}
\begin{tikzpicture}
\draw (6,0) arc [radius=5, start angle=120, end angle= 90];<br>
\end{tikzpicture}
\caption{Caption 1 here}
\end{figure}
More words
\begin{figure}
\begin{tikzpicture}
\draw [->] (0,0) -- (2,0);
\draw (3.5,0.5) circle [radius=1];
\end{tikzpicture}
\caption{Caption 2 here}
\end{figure}
\end{document}
하지만 선, 곡선 화살표 또는 거기에 있는 문자에 점을 가져오는 방법을 잘 모르겠습니다.
어떤 도움이라도 주시면 감사하겠습니다. 감사합니다.
답변1
이는 시작하는 데 도움이 될 것입니다. 저는 decorations.markings
위치 지정을 위해 주로 라이브러리를 사용했습니다. 자세한 내용은 Mighty PGF 매뉴얼의 섹션 48.5를 확인하세요.
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{decorations.markings}
\begin{document}
\begin{tikzpicture}[every node/.style={font=\tiny\itshape},decoration={markings,
mark=between positions .1 and .9 step 8mm with {\draw[fill=white](0,0) circle (1pt);},
mark=at position .1 with {\node[yshift=-3pt]{x};},
mark=at position .41 with {\node[yshift=-4pt]{y};},
mark=at position .71 with {\node[yshift=-3pt]{z};},
mark=between positions .39 and .9 step 8mm with {\arrow{stealth}},
mark=at position .2 with {\node[yshift=5pt]{s};},
mark=at position .5 with {\node[yshift=5pt]{t};}
}]
\draw[postaction={decorate}] (6,0) arc [radius=5, start angle=120, end angle= 90];
\end{tikzpicture}
\begin{tikzpicture}[every node/.style={font=\tiny\itshape}]
\draw [postaction=decorate,-stealth,decoration={
markings,
mark=at position .05 with {\node[font=\bfseries\small,yshift=-5pt]{R};},
mark=at position .2 with {\draw[fill=black](0,0) circle (1pt);},
mark=at position .8 with {\draw[fill=white](0,0) circle (1pt);},
mark=at position .95 with {\node[yshift=-4pt]{t};}},
] (0,0) -- (2,0);
\draw[-stealth] (1,.5) to[bend left=30] (2.2,1.1) node[xshift=-.8cm]{$\phi$};
\draw (3.5,0.5) circle [radius=1];
\draw[postaction=decorate,decoration={
markings,
mark=at position .2 with {\draw[fill=black](0,0) circle (1pt);},
mark=at position .2 with {\node[xshift=-4pt]{x};},
mark=at position .8 with {\draw[fill=white](0,0) circle (1pt);},
mark=at position .8 with {\node[yshift=4pt]{$g^{t}x$};}}
] (2.8,.5) to[bend left=30] (3.7,1);
\node[font=\scriptsize\itshape] at(4,-.1){M};
\end{tikzpicture}
\end{document}
답변2
이 솔루션은 dcmst의 솔루션과 유사하지만 더 많은 스타일을 사용하므로 그림 자체의 코드가 더 적습니다.
\documentclass[tikz,border=50]{standalone}
\usepackage{amssymb}
\usetikzlibrary{decorations.markings}
\tikzset{
>=latex,
every to/.style={bend left},
every point/.style = {circle, inner sep={.75\pgflinewidth}, opacity=1, draw, solid, fill=white},
point/.style={insert path={node[every point, #1]{}}},
at/.style 2 args = {
decoration={markings, mark=at position #1 with {#2}},
postaction={decorate}
},
pt at/.style args={#1"#2"#3}{at={#1}{\node[point=#3,above]{#2};}},
arrpt at/.style args={#1"#2"}{at={#1}{\arrow{>}\node[point,below right]{#2};}}
}
\begin{document}
\begin{tikzpicture}[thick]
\draw[pt at=.2""black, pt at=.7"", ->]
(0,0) node[below]{$\mathbb{R}$} -- (1.5,0) node[below]{$t$};
\draw (4,1) circle (1.5cm) node[below right=5mm]{$M$};
\draw[->] (.5,.5) to node[above]{$\varphi$}(2.2,1.5);
\draw[pt at=.3"$x$"black,pt at=.7"$g_t{x}$"] (3,1) to (5,1.5);
\draw[arrpt at=.2"$x$",arrpt at=.5"$y$",arrpt at=.8"$z$"] (0,2) to (3,4);
\end{tikzpicture}
\end{document}