저는 Tikz 패키지를 처음 사용하므로 이제 다음과 같은 다이어그램을 만들어야 합니다.
그런데 각 노드에 수직선을 만드는 방법을 모르겠습니다.
코드는 다음과 같습니다.
\begin{center}
\begin{tikzpicture}
\coordinate (A) at (0,0);
\coordinate (B) at (1,0);
\coordinate (C) at (2,0);
\coordinate (D) at (10,0);
\draw[|-|]
(A)
node at (A) [above=5pt] {$P_{t,M}$}
node at (A) [below=5pt] {$t$}
--
(B)
node at (B) [above=5pt] {$C$}
node at (B) [below=5pt] {$t+1$}
--
(C)
node at (C) [above=5pt] {$C$}
node at (C) [below=5pt] {$t+2$}
--
(D)
node at (D) [above=5pt] {$C+N$}
node at (D) [below=5pt] {$t + M$};
\end{tikzpicture}
\end{center}
어떤 도움이라도 정말 감사드립니다! 감사합니다
답변1
점의 좌표(B와 C)를 이미 정의했으므로 루프가 foreach
자연스러운 선택인 것 같습니다.
\documentclass[tikz,border=2pt]{standalone}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
\coordinate (A) at (0,0);
\coordinate (B) at (1,0);
\coordinate (C) at (2,0);
\coordinate (D) at (10,0);
\draw[|-|]
(A)
node at (A) [above=5pt] {$P_{t,M}$}
node at (A) [below=5pt] {$t$}
--
(B)
node at (B) [above=5pt] {$C$}
node at (B) [below=5pt] {$t+1$}
--
(C)
node at (C) [above=5pt] {$C$}
node at (C) [below=5pt] {$t+2$}
--
(D)
node at (D) [above=5pt] {$C+N$}
node at (D) [below=5pt] {$t + M$};
\foreach \x in {B,C}
\draw ($(\x)+(0,2pt)$)--($(\x)+(0,-2pt)$);
\end{tikzpicture}
\end{document}
저는 라이브러리를 사용했지만 calc
동일한 결과를 얻을 수 있는 다른 방법도 있습니다.
\foreach \x in {B,C}{%
\draw (\x)--++(0,2pt);
\draw (\x)--++(0,-2pt);
}
또는 (컴팩트 버전)
\foreach \x in {B,C}
\draw (\x)--++(0,2pt) (\x)--++(0,-2pt);
답변2
경로를 분할할 수 있습니다(이 방법으로 진드기가 모두 동일한지 확인할 수 있습니다).
\documentclass[tikz]{standalone}
\usepackage{tikz}
\begin{document}
%\begin{center} % not really useful in standalone class
\begin{tikzpicture}
[every node/.style={text depth=0pt}] % align node text
\coordinate (A) at (0,0);
\coordinate (B) at (1,0);
\coordinate (C) at (2,0);
\coordinate (D) at (10,0);
\draw[|-|]
(A)
node at (A) [above=5pt] {$P_{t,M}$}
node at (A) [below=5pt] {$t$}
--
(B);
\draw[-|]
(B)
node at (B) [above=5pt] {$C$}
node at (B) [below=5pt] {$t+1$}
--
(C);
\draw[-|]
(C)
node at (C) [above=5pt] {$C$}
node at (C) [below=5pt] {$t+2$}
--
(D)
node at (D) [above=5pt] {$C+N$}
node at (D) [below=5pt] {$t + M$};
\end{tikzpicture}
%\end{center}
\end{document}