Beamer
Version 4 (Andrey Golovin, 03.10.2013 00:23) → Version 5/10 (Andrey Golovin, 03.10.2013 00:40)
h1. Приёмы создания илюстраций в LATEX
> > Файлы и листинги которые я размещаю не идеальны, это рабочие файлы, которые делались часто на скорость.
h2. Приамбула
В большинстве случаев я использую некий шаблон постоянного содержания откуда указывается путь к файлу с содержимым. Если надо задать некоторые функции я их выношу в отдельный файл, как впрочем настройки стилей, так и пакеты для использования.
* Основной файл: attachment:prez.tex
* Функции: attachment:functions.tex
* Подключаемые пакеты: attachment:packages.tex
* Настроки стилей: attachment:header.sty
* Пример файла с содержимым: attachment:cont.tex
* Все растровые картинки располагаются в директории *./fig*
* Файлы для графиков располагаются в директории *./plot*
Для сборки всего в один pdf файл используется:
<code>
lualatex --shell-escape prez.tex
</code>
h2. Примеры
h3. Химические формулы (chemfig):
Номера атомов располагались с помощью невидимых связей
|_.Код |_. Результат |
|<pre><code>
\begin{frame}{Основания}
\setatomsep{1.6em}%
\footnotesize \begin{tabular}{c c c c}
\chemfig{*6((-[5,0.5,,,draw=none]\color{blue}2)=N(-[6,0.5,,,draw=none]\color{blue}3)-(-[6,0.5,,,draw=none]\color{blue}4)*6(
-\chembelow{N}{H}(-[6,1.0,,,draw=none]\color{blue}9)-(-[7,0.5,,,draw=none]\color{blue}8)=N?(-[1,0.5,,,draw=none]\color{blue}7))
=?(-[2,0.5,,,draw=none]\color{blue}5)-(-[2,0.5,,,draw=none]\color{blue}6)=N(-[3,0.5,,,draw=none]\color{blue}1)-[,,1])} &
\chemfig{*6((-[:-130]H_2N)=N-*6(-\chembelow{N}{H}-=N?)=?-(=[2]O)-HN-[,,2])}&
\chemfig{*6(=N-*6(-\chembelow{N}{H}-=N?)=?-(-[2]NH_2)=N-[,,1])}&~\\[1.0cm]-HN-[,,2])}&
\chemfig{*6(=N-*6(-\chembelow{N}{H}-=N?)=?-(-[2]NH_2)=N-[,,1])}&~\\[1.0cm]
Пурин&Гуанин&Аденин& \\[.2cm]
\hline\\[.2cm]
\chemfig{*6((-[5,0.5,,,draw=none]\color{blue}2)=N(-[6,0.5,,,draw=none]\color{blue}1)-(-[7,0.5,,,draw=none]\color{blue}6)
=(-[1,0.5,,,draw=none]\color{blue}5)-(-[2,0.5,,,draw=none]\color{blue}4)=N(-[3,0.6,,,draw=none]\color{blue}3)-)} &
\chemfig{*6((=[5]O)-\chembelow{N}{H}-=-(-[2]NH_2)=N-)} &
\chemfig{*6((=[5]O)-\chembelow{N}{H}-=-(=[2]O)-HN-[,,2])} &
\chemfig{*6((=[5]O)-\chembelow{N}{H}-=(-[1])-(=[2]O)-HN-[,,2])}
\\[1.0cm]
Пиримидин&Цитозин&Урацил&Тимин\\[.2cm]
\hline
\end{tabular}
\end{center}
\end{frame}</code></pre>| !nucl-5.png! |
Стерео связи и подписи:
|_.Код |_. Результат |
|<pre><code>
\begin{frame}{Основания и остов}
\begin{center}
\begin{tikzpicture}[help lines/.style={thin,draw=black!50}]
\node (2) at (6,5) {N-гликозидная связь};
\node (1) at (2,2) {%
\schemestart[][west]
\setatomsep{1.7em}\setcrambond{0.2em}{}{}%
\small\chemfig{-[0]O-[0]-[6]?<[7](-[,,,,line
width=0.2em]>[1](-[2]OH)-[:160,1.3]O?)-[6]O
-[6]P(=[:-90]O)(-[4]\chemabove{O}{\hspace{1em}-})
-[0]O-[0]-[6]?[c2]<[7](-[,,,,line
width=0.2em]>[1](-[2]OH)-[:160,1.3]O?[c2])-[6]O-[6]
}
\arrow{-U>[ 2B ]}[0]
\setatomsep{1.7em}\setcrambond{0.2em}{}{}%
\small\chemfig{-[0]O-[0]-[6]?<[7](-[,,,,line
width=0.2em]>[1](-[2]B)-[:160,1.3]O?)-[6]O
-[6]P(=[:-90]O)(-[4]\chemabove{O}{\hspace{1em}-})
-[0]O-[0]-[6]?[c2]<[7](-[,,,,line
width=0.2em]>[1](-[2]B)-[:160,1.3]O?[c2])-[6]O-[6]
}
\schemestop};
\draw [orange,thick](2.south east) -- (2.south);
\draw [->,orange,thick] (2.south east) -- (6,3.8);
\end{tikzpicture}
\end{center}
\end{frame}
</code></pre>| !nucl-6.png! |
h3. Формулы и объеткы tikz:
|_.Код |_. Результат |
|<pre><code>
{Молекулярная динамика}
\begin{center}
\tiny
$$ U=\sum_{bonds}{ \frac{k_i}{2} ( l_i - l_0)^2} + \sum_{angles}{ \frac{k_i}{2} ( \phi_i - \phi_0)^2} + \sum_{torsions} { \frac{V_n}{2} (1 + cos(n\omega - \gamma))} + $$
$$ + \sum_{i=1}^N \sum_{j=i+1}^N \left ( 4 \epsilon_{ij} \left [ \left ( \frac{\sigma_{ij}}{r_{ij}} \right )^{12} - \left ( \frac{\sigma_{ij}}{r_{ij}} \right )^6 \right ] +
\frac{q_i q_j}{ 4\pi \epsilon_0 r_{ij}} \right ) $$
\rule[0.5cm]{\linewidth}{1pt}
\begin{tikzpicture}[node distance=1cm, auto]
\tikzset{%
mynode/.style={rectangle,draw=brown, top color=blue!10,bottom color=blue!10 },
myarrow/.style={->, >=latex', shorten >=1pt, thick},
mylabel/.style={text width=7em, text centered}
}
\node (nGray) [mynode] at (0, 2.5)
{%
\begin{minipage}{0.4\textwidth}
\footnotesize Расчёт силы, действующей на атом
\begin{center}
\normalsize
$ F_i= \sum_j F_{ij} $
\end{center}
\end{minipage}
};
\node (nRed) [mynode] at (3, 0)
{%
\begin{minipage}{0.4\textwidth}
\footnotesize Расчёт новых координат
\normalsize
\begin{center}
$ \frac{\partial^2r_i}{\partial t^2}=\frac{F_i}{m_i} $ \\
$ \frac{\partial r_i}{\partial t} =v_i , \frac{\partial
v_i}{\partial t} = \frac{F_i}{m_i} $
\end{center}
\end{minipage}
};
\node[mylabel, below of=nGray] (label1) at (-1,2) {%
\begin{minipage}{0.1\textwidth}
\[ \Delta t \]
\end{minipage}
};
\draw [ color = red, ultra thick, -> ](nGray) |- (nRed);
\draw [ color = brown, ultra thick, -> ](nRed) |- (nGray);
\end{tikzpicture}
\end{center}
\end{frame}%
</code></pre>| !nucl-11.png! |
h3. Изображение и объеткы tikz:
|_.Код |_. Результат |
|<pre><code>
\begin{frame}%
{Система для моделирования}
\begin{tikzpicture}[xscale=1.0,yscale=1.0]
\node (ri) at (3,2 ) {\includegraphics[width=0.45\textwidth]{ribo.png}};
\node (cu) at (9,2) {\includegraphics[width=0.45\textwidth]{ribocube.png}};
\draw[thick,opacity=0.7] (2,1) rectangle (4,3);
\draw[thick] (cu.south west) rectangle (cu.north east);
\draw[dashed] (4,3) -- (cu.north west);
\draw[dashed] (4,1) -- (cu.south west);
\begin{scope}[fill opacity=.5,transparency group]
\node[thick,draw=black, fill=orange,opacity=0.5,circle,minimum size=1cm, radius=1.5]
at (cu.center) {~} ;
\end{scope}
\node at (cu.center){Lig};
\end{tikzpicture}
\end{frame}%
</code></pre>| !nucl-12.png! |
h3. График функции и не только:
|_.Код |_. Результат |
|<pre><code> |
<code>
\begin{frame}%
{Конформационное равновесие}
\begin{center}
\schemestart
\setnodestyle{draw,rectangle,fill=red,minimum size=20pt}
\chemfig{P_2}
\arrow{<->>}
\setnodestyle{draw,circle,fill=yellow,minimum size=20pt}
\chemfig{P_1}
\schemestop
\hspace{3cm}~\par
\vspace{.75cm}
\begin{tikzpicture}[xscale=1.0,yscale=1.0]
%% Pot energy plot
\begin{axis}[height=7cm,width=15cm,
xmin=-300,xmax=400,ymin=-.2, hide x axis, hide y axis,
xlabel=$$, ylabel=$$]
\addplot+[raw gnuplot, draw=blue, mark=none, smooth,thick] gnuplot[id=m]{%
set xrange [-180:180]; plot 1-0.25*(1+cos(3*pi*x/180))- 0.25*(1+cos(2*pi*x/180)) };
\draw[dashed,thick,red,->] (axis cs:-150,.7) parabola bend (axis cs:-70,0.95)(axis cs:0,.7);
\addplot[->,thick] coordinates {(-180,0.33) (-150,0.33)};
\addplot[->,thick] coordinates {(-180,0.90) (-80,.90)};
\addplot[thick] coordinates {(-180,0.90) (-180,.70)};
\addplot[thick] coordinates {(-180,0.33) (-180,.52)};
\addplot[->,thick] coordinates {(90,0.33) (-120,0.33)};
\addplot[->,thick] coordinates {(90,0.00) (5,.00)};
\addplot[thick] coordinates {(90,0.33) (90,0.22)};
\addplot[thick] coordinates {(90,0) (90,.05)};
\node at (axis cs:-180,0.6) {$\Delta E_a$};
\node at (axis cs:90,0.16) {$\Delta G$};
\node at (axis cs:-140,0.25) {$P_2$};
\node at (axis cs:0,-0.1) {$P_1$};
\node at (axis cs:200,0.1){%
\Large{$\frac{[P_1]}{[P_2]}\sim e^{-\frac{\Delta G}{RT}}
$}
} ;
\node at (axis cs:200,-0.1){%
$\frac{1}{100}\sim $ \textit{5 кКал}} ;
\node at (axis cs:-180,0){%
\Large{$ k_v \sim e^{-\frac{\Delta E_a}{RT}}$}
};
\end{axis}
\end{tikzpicture}
\end{center}
\end{frame}%
</code></pre>| <\code>
| !prez-2.png! |
> > Файлы и листинги которые я размещаю не идеальны, это рабочие файлы, которые делались часто на скорость.
h2. Приамбула
В большинстве случаев я использую некий шаблон постоянного содержания откуда указывается путь к файлу с содержимым. Если надо задать некоторые функции я их выношу в отдельный файл, как впрочем настройки стилей, так и пакеты для использования.
* Основной файл: attachment:prez.tex
* Функции: attachment:functions.tex
* Подключаемые пакеты: attachment:packages.tex
* Настроки стилей: attachment:header.sty
* Пример файла с содержимым: attachment:cont.tex
* Все растровые картинки располагаются в директории *./fig*
* Файлы для графиков располагаются в директории *./plot*
Для сборки всего в один pdf файл используется:
<code>
lualatex --shell-escape prez.tex
</code>
h2. Примеры
h3. Химические формулы (chemfig):
Номера атомов располагались с помощью невидимых связей
|_.Код |_. Результат |
|<pre><code>
\begin{frame}{Основания}
\setatomsep{1.6em}%
\footnotesize \begin{tabular}{c c c c}
\chemfig{*6((-[5,0.5,,,draw=none]\color{blue}2)=N(-[6,0.5,,,draw=none]\color{blue}3)-(-[6,0.5,,,draw=none]\color{blue}4)*6(
-\chembelow{N}{H}(-[6,1.0,,,draw=none]\color{blue}9)-(-[7,0.5,,,draw=none]\color{blue}8)=N?(-[1,0.5,,,draw=none]\color{blue}7))
=?(-[2,0.5,,,draw=none]\color{blue}5)-(-[2,0.5,,,draw=none]\color{blue}6)=N(-[3,0.5,,,draw=none]\color{blue}1)-[,,1])} &
\chemfig{*6((-[:-130]H_2N)=N-*6(-\chembelow{N}{H}-=N?)=?-(=[2]O)-HN-[,,2])}&
\chemfig{*6(=N-*6(-\chembelow{N}{H}-=N?)=?-(-[2]NH_2)=N-[,,1])}&~\\[1.0cm]-HN-[,,2])}&
\chemfig{*6(=N-*6(-\chembelow{N}{H}-=N?)=?-(-[2]NH_2)=N-[,,1])}&~\\[1.0cm]
Пурин&Гуанин&Аденин& \\[.2cm]
\hline\\[.2cm]
\chemfig{*6((-[5,0.5,,,draw=none]\color{blue}2)=N(-[6,0.5,,,draw=none]\color{blue}1)-(-[7,0.5,,,draw=none]\color{blue}6)
=(-[1,0.5,,,draw=none]\color{blue}5)-(-[2,0.5,,,draw=none]\color{blue}4)=N(-[3,0.6,,,draw=none]\color{blue}3)-)} &
\chemfig{*6((=[5]O)-\chembelow{N}{H}-=-(-[2]NH_2)=N-)} &
\chemfig{*6((=[5]O)-\chembelow{N}{H}-=-(=[2]O)-HN-[,,2])} &
\chemfig{*6((=[5]O)-\chembelow{N}{H}-=(-[1])-(=[2]O)-HN-[,,2])}
\\[1.0cm]
Пиримидин&Цитозин&Урацил&Тимин\\[.2cm]
\hline
\end{tabular}
\end{center}
\end{frame}</code></pre>| !nucl-5.png! |
Стерео связи и подписи:
|_.Код |_. Результат |
|<pre><code>
\begin{frame}{Основания и остов}
\begin{center}
\begin{tikzpicture}[help lines/.style={thin,draw=black!50}]
\node (2) at (6,5) {N-гликозидная связь};
\node (1) at (2,2) {%
\schemestart[][west]
\setatomsep{1.7em}\setcrambond{0.2em}{}{}%
\small\chemfig{-[0]O-[0]-[6]?<[7](-[,,,,line
width=0.2em]>[1](-[2]OH)-[:160,1.3]O?)-[6]O
-[6]P(=[:-90]O)(-[4]\chemabove{O}{\hspace{1em}-})
-[0]O-[0]-[6]?[c2]<[7](-[,,,,line
width=0.2em]>[1](-[2]OH)-[:160,1.3]O?[c2])-[6]O-[6]
}
\arrow{-U>[ 2B ]}[0]
\setatomsep{1.7em}\setcrambond{0.2em}{}{}%
\small\chemfig{-[0]O-[0]-[6]?<[7](-[,,,,line
width=0.2em]>[1](-[2]B)-[:160,1.3]O?)-[6]O
-[6]P(=[:-90]O)(-[4]\chemabove{O}{\hspace{1em}-})
-[0]O-[0]-[6]?[c2]<[7](-[,,,,line
width=0.2em]>[1](-[2]B)-[:160,1.3]O?[c2])-[6]O-[6]
}
\schemestop};
\draw [orange,thick](2.south east) -- (2.south);
\draw [->,orange,thick] (2.south east) -- (6,3.8);
\end{tikzpicture}
\end{center}
\end{frame}
</code></pre>| !nucl-6.png! |
h3. Формулы и объеткы tikz:
|_.Код |_. Результат |
|<pre><code>
{Молекулярная динамика}
\begin{center}
\tiny
$$ U=\sum_{bonds}{ \frac{k_i}{2} ( l_i - l_0)^2} + \sum_{angles}{ \frac{k_i}{2} ( \phi_i - \phi_0)^2} + \sum_{torsions} { \frac{V_n}{2} (1 + cos(n\omega - \gamma))} + $$
$$ + \sum_{i=1}^N \sum_{j=i+1}^N \left ( 4 \epsilon_{ij} \left [ \left ( \frac{\sigma_{ij}}{r_{ij}} \right )^{12} - \left ( \frac{\sigma_{ij}}{r_{ij}} \right )^6 \right ] +
\frac{q_i q_j}{ 4\pi \epsilon_0 r_{ij}} \right ) $$
\rule[0.5cm]{\linewidth}{1pt}
\begin{tikzpicture}[node distance=1cm, auto]
\tikzset{%
mynode/.style={rectangle,draw=brown, top color=blue!10,bottom color=blue!10 },
myarrow/.style={->, >=latex', shorten >=1pt, thick},
mylabel/.style={text width=7em, text centered}
}
\node (nGray) [mynode] at (0, 2.5)
{%
\begin{minipage}{0.4\textwidth}
\footnotesize Расчёт силы, действующей на атом
\begin{center}
\normalsize
$ F_i= \sum_j F_{ij} $
\end{center}
\end{minipage}
};
\node (nRed) [mynode] at (3, 0)
{%
\begin{minipage}{0.4\textwidth}
\footnotesize Расчёт новых координат
\normalsize
\begin{center}
$ \frac{\partial^2r_i}{\partial t^2}=\frac{F_i}{m_i} $ \\
$ \frac{\partial r_i}{\partial t} =v_i , \frac{\partial
v_i}{\partial t} = \frac{F_i}{m_i} $
\end{center}
\end{minipage}
};
\node[mylabel, below of=nGray] (label1) at (-1,2) {%
\begin{minipage}{0.1\textwidth}
\[ \Delta t \]
\end{minipage}
};
\draw [ color = red, ultra thick, -> ](nGray) |- (nRed);
\draw [ color = brown, ultra thick, -> ](nRed) |- (nGray);
\end{tikzpicture}
\end{center}
\end{frame}%
</code></pre>| !nucl-11.png! |
h3. Изображение и объеткы tikz:
|_.Код |_. Результат |
|<pre><code>
\begin{frame}%
{Система для моделирования}
\begin{tikzpicture}[xscale=1.0,yscale=1.0]
\node (ri) at (3,2 ) {\includegraphics[width=0.45\textwidth]{ribo.png}};
\node (cu) at (9,2) {\includegraphics[width=0.45\textwidth]{ribocube.png}};
\draw[thick,opacity=0.7] (2,1) rectangle (4,3);
\draw[thick] (cu.south west) rectangle (cu.north east);
\draw[dashed] (4,3) -- (cu.north west);
\draw[dashed] (4,1) -- (cu.south west);
\begin{scope}[fill opacity=.5,transparency group]
\node[thick,draw=black, fill=orange,opacity=0.5,circle,minimum size=1cm, radius=1.5]
at (cu.center) {~} ;
\end{scope}
\node at (cu.center){Lig};
\end{tikzpicture}
\end{frame}%
</code></pre>| !nucl-12.png! |
h3. График функции и не только:
|_.Код |_. Результат |
|<pre><code> |
<code>
\begin{frame}%
{Конформационное равновесие}
\begin{center}
\schemestart
\setnodestyle{draw,rectangle,fill=red,minimum size=20pt}
\chemfig{P_2}
\arrow{<->>}
\setnodestyle{draw,circle,fill=yellow,minimum size=20pt}
\chemfig{P_1}
\schemestop
\hspace{3cm}~\par
\vspace{.75cm}
\begin{tikzpicture}[xscale=1.0,yscale=1.0]
%% Pot energy plot
\begin{axis}[height=7cm,width=15cm,
xmin=-300,xmax=400,ymin=-.2, hide x axis, hide y axis,
xlabel=$$, ylabel=$$]
\addplot+[raw gnuplot, draw=blue, mark=none, smooth,thick] gnuplot[id=m]{%
set xrange [-180:180]; plot 1-0.25*(1+cos(3*pi*x/180))- 0.25*(1+cos(2*pi*x/180)) };
\draw[dashed,thick,red,->] (axis cs:-150,.7) parabola bend (axis cs:-70,0.95)(axis cs:0,.7);
\addplot[->,thick] coordinates {(-180,0.33) (-150,0.33)};
\addplot[->,thick] coordinates {(-180,0.90) (-80,.90)};
\addplot[thick] coordinates {(-180,0.90) (-180,.70)};
\addplot[thick] coordinates {(-180,0.33) (-180,.52)};
\addplot[->,thick] coordinates {(90,0.33) (-120,0.33)};
\addplot[->,thick] coordinates {(90,0.00) (5,.00)};
\addplot[thick] coordinates {(90,0.33) (90,0.22)};
\addplot[thick] coordinates {(90,0) (90,.05)};
\node at (axis cs:-180,0.6) {$\Delta E_a$};
\node at (axis cs:90,0.16) {$\Delta G$};
\node at (axis cs:-140,0.25) {$P_2$};
\node at (axis cs:0,-0.1) {$P_1$};
\node at (axis cs:200,0.1){%
\Large{$\frac{[P_1]}{[P_2]}\sim e^{-\frac{\Delta G}{RT}}
$}
} ;
\node at (axis cs:200,-0.1){%
$\frac{1}{100}\sim $ \textit{5 кКал}} ;
\node at (axis cs:-180,0){%
\Large{$ k_v \sim e^{-\frac{\Delta E_a}{RT}}$}
};
\end{axis}
\end{tikzpicture}
\end{center}
\end{frame}%
</code></pre>| <\code>
| !prez-2.png! |