2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Изображения в LaTeX (пакет TikZ)
Сообщение25.09.2014, 12:51 
Здравствуйте! Я новичок в плане вёрстки в LaTeX. Мне нужно реализовать изображение, но я совершенно не могу понять, как это сделать. Вот оно: Изображение
Пока что я сделала только цепочку:

Код:
\begin{center}
   \begin{tikzpicture}
   { [ start chain = going below ] %
      \node [on chain ]  (A) at (0, 0) {$A$};
      \node (A1) [below = 0.1mm of A, draw, shape = circle];      
      \node [on chain ] (B) {$B$};
      \node (B1) [below = 0.1mm of B, draw, shape = circle];
      \node [on chain ] (C) {$C$};
      \node (C1) [below = 0.1mm of C, draw, shape = circle];
      \node [on chain ] (D) {$D$};
      \node (D1) [below = 0.1mm of D, draw, shape = circle];
   }
   \end{tikzpicture}
   \end{center}


выглядит это так: Изображение

А сектора эллипсов у меня не выходят, такой код
Код:
\draw (A1) arc [x radius = 1cm, y radius = 0.5cm, start angle = 90, end andle = 0];

даже не компилируется, а такой
Код:
\draw (A1) arc (90:0:1);

компилируется, но даёт, понятное дело, сектор окружности.

Если вы поможете, буду очень благодарна, ибо мучаюсь уже второй день.

 
 
 
 Re: Изображения в LaTeX (пакет TikZ)
Сообщение25.09.2014, 14:48 
Аватара пользователя
На форуме это искажено но в реальном LaTeX работает; сами улучшите (толщину линий, растяжение по $x$, стрелки) и дорисуете

Используется синтаксис LaTeX
\begin{tikzpicture}
\begin{scope}[xscale=2]
 \foreach \y in {0,...,3} {\draw [->] (0,2*\y) arc (90:0:1); \draw[->] (1,2*\y-1) arc (0:-75:1); \node at (1.5, -1+2*\y) {$p'_\y$};}
\end{scope}
  \foreach \y in {-1,...,3} \filldraw [fill=white] (0,2*\y) circle (.5);
\end{tikzpicture}

 
 
 
 Re: Изображения в LaTeX (пакет TikZ)
Сообщение25.09.2014, 15:43 
Большое спасибо, всё действительно работает! :-)

 
 
 
 Re: Изображения в LaTeX (пакет TikZ)
Сообщение25.09.2014, 15:56 
Аватара пользователя
Valoisa в сообщении #911905 писал(а):
Большое спасибо, всё действительно работает! :-)


Ну тогда постируйте финальный код—м.б. я ещё чего посоветую. Например можете для линий поставить [thick,->] (см вариации от ultra thin, very thin, thin до ultra thick, а можно указать ширину линий; можете загрузить \usetikzlibrary{arrows} и использовать разные стрелки). Обратите внимание на scope (ограничивает применение растяжения), и особенно \foreach

 
 
 
 Re: Изображения в LaTeX (пакет TikZ)
Сообщение25.09.2014, 16:59 
код: [ скачать ] [ спрятать ]
Используется синтаксис LaTeX
\begin{tikzpicture}
\begin{scope}[xscale=1.5]
\foreach \y in {1,...,3} {\draw [thick, ->] (0,2*\y) arc (90:0:1); \draw[thick, ->] (1,2*\y-1) arc (0:-81:1); \node at (1.5, -1+2*\y) {$p'_\y$};}
 \foreach \y in {1,...,3} {\draw [thick, ->] (0,2*\y) arc (90:180:1); \draw[thick, ->] (-1,2*\y-1) arc (180:260:1); \node at (-1.5, -1+2*\y) {$p_\y$};}
\draw [thick,->] (0,0) arc (90:0:1); \node at (1.5, -1) {$p'_0$};
\draw [thick,->] (0,0) arc (90:180:1);\node at (-1.5, -1) {$p_0$};
\end{scope}

 \foreach \y in {0,...,3} \filldraw [fill=white] (0,2*\y) circle (.3);
 \node (D) at (0, 0.5) {$D$};
\node (C) at (0, 2.5) {$C$};
\node (B) at (0, 4.5) {$B$};
\node (A) at (0, 6.5) {$A$};
\node (P) at (1.5, -1.2) {$\ldots$};
\node (P1) at (-1.5, -1.2) {$\ldots$};
\end{tikzpicture}


Вот, что получилось, вроде похоже на то, чего нужно добиться. :-)

-- 25.09.2014, 17:01 --

Ой, только я, зачем-то, два раза открыла область с растяжением по x.

-- 25.09.2014, 17:02 --

Даже три. Исправляю...

 
 
 
 Re: Изображения в LaTeX (пакет TikZ)
Сообщение26.09.2014, 04:41 
Аватара пользователя
Можно загрузить
Используется синтаксис LaTeX
\usetikzlibrary{arrows}

и потом заменить -> на -triangle 45 или -triangle 60

 
 
 [ Сообщений: 6 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group