2014 dxdy logo

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

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




Начать новую тему Ответить на тему
 
 Как обтечь картинку текстом с формулами? (wrapfigure?)
Сообщение15.05.2015, 12:23 
Аватара пользователя


27/03/13
15
Доброго дня!
Неспеша ваяю в Латехе нетленку.
Текст с формулами, формул много.
Периодически надо вставлять картинки. Хочу чтобы картинка по ширине занимала полстраницы и красиво обтекалась моим текстом с формулами.
Пытаюсь использовать wrapfigure.
Вставляю такой код:

\begin{wrapfigure}{r}{0.5\linewidth}
\centering
\pgfplotsset{width=1.0\linewidth}
\begin{tikzpicture}
...здесь картинка
\end{tikzpicture}
\end{wrapfigure}

Результат неоднозначный.
Если картинка в тексте - то все работает отлично. Если в тексте есть формулы - то может получиться как угодно. В том числе и вариант когда формула будет прям на картинке.
Можно использовать такой параметр \begin{wrapfigure}[10]{r}{0.5\linewidth} - он должен явно выделять количество строк, то тоже работает не поймеж как если есть формулы.
Вопрос - как быть? Может есть какие-нибудь другие пакеты, или народные методы? По идее сложного обтекания мне не нужно - достаточно обтекать прямоугольник. (Использую MikTex(win)+TexMaker).
С уважением, Гарри

-- 15.05.2015, 13:43 --

Сам задал вопрос и сам же отвечаю.
После \end{wrapfigure}
помогает добавление
\leavevmode
Правда съезжают метки осей в TikZграфике (то что задано через shift) - приходится корректировать ручками, что конечно не айс, но все же гораздо лучше чем было.

 Профиль  
                  
 
 Re: Как обтечь картинку текстом с формулами? (wrapfigure?)
Сообщение15.05.2015, 17:52 


13/07/14
257
Сможете сваять минимальный рабочий пример с вашим вопросом и решением? Чтобы и команды tikz были с shift, и формулы, которые ломают, и текст, и преамбула минимально для этого необходимая. Так, чтобы можно было бы скопипастить текст из ЛаТеХ тегов и поискать решение. Хорошо бы ещё краткое и четкое определение того "чего хочу" для выложенного примера и по пунктам перечисление ошибок из этого же демонстрируемого примера. Как чеклист, чтобы можно было отмечать, что решил желающий помочь, а что ещё осталось (или что успел сломать ещё хуже, чем было).

 Профиль  
                  
 
 Re: Как обтечь картинку текстом с формулами? (wrapfigure?)
Сообщение15.05.2015, 19:47 
Аватара пользователя


27/03/13
15
Н-да... в процесс подготовки минимального примера убрал все лишние пакеты - коих было до фига, и... все стало хорошо.
Выкладываю пример - в котором все работает и вроде даже \leavevmode необязателен. ))) Вдруг кому пригодится. Что с чем конфликтовало - предмет отдельного разбирательства.
Код:
\documentclass[a4paper]{article}
\usepackage[left=2cm,right=2cm,top=2cm,bottom=2cm,bindingoffset=0cm]{geometry}
\usepackage[utf8]{inputenc}
\usepackage[russian]{babel}
\usepackage{fontenc}
\usepackage{tikz}
\usepackage{pgfplots}
\usepackage{wrapfig}
\usepackage{lipsum}
\usepackage{nccmath}

\newcommand{\diffptwo}[2]{\frac{\partial^2 #1}{\partial #2^2}}
\newcommand{\diffp}[2]{\frac{\partial #1}{\partial #2}}
\newcommand{\diffpr}[1]{\frac{\partial #1}{\partial r}}
\newcommand{\diffprb}[1]{\frac{\partial #1}{\partial R}}
\newcommand{\diffptheta}[1]{\frac{\partial #1}{\partial\theta}}
\newcommand{\diffpphi}[1]{\frac{\partial #1}{\partial\varphi}}
\newcommand{\diffpt}[1]{\frac{\partial #1}{\partial t}}

\newcommand{\diff}[2]{\frac{d #1}{d #2}}
\newcommand{\rot}[1]{\nabla\times\vec #1}
\newcommand{\rots}[1]{\nabla\times #1}
\newcommand{\grad}[1]{\nabla #1}
\newcommand{\dvr}[1]{\nabla \vec #1}
\newcommand{\difftwosplit}[4]{\frac{\partial}{\partial #1}\left(#2 \frac{\partial #3}{\partial #4}\right)}
\newcommand{\dgr}{^\circ}
\newcommand{\textdgr}{${^\circ}$}
\newcommand{\q}{~---~}

\newcommand{\be}{\begin{equation*}}
\newcommand{\ee}{\end{equation*}}

\begin{document}

\begin{wrapfigure}[10]{r}{0.5\linewidth}
\centering
\pgfplotsset{width=1.0\linewidth}
\begin{tikzpicture}
\begin{axis}
[y label style={rotate = -90,at={(ticklabel cs:0.93)}},
x label style={at={(ticklabel cs:0.93)}},
ylabel shift=-80pt,
xlabel shift=-45pt,
xlabel=$m${, м},
ylabel={$U_z$,м/с},
xtick pos=left,
ytick pos=left,
yticklabel style={anchor=east}]
\addplot coordinates {
( 338.1, 266.45 )
( 169.1, 143.43 )
( 84.5, 64.80 )
( 42.3, 34.19 )
( 21.1, 9.47 )};
\end{axis}
\end{tikzpicture}
\end{wrapfigure}
\leavevmode

Уравнение Максвелла: $\rot{B}=\mu_0\vec J$ в цилиндрических координатах:

\begin{align*}
&(\rot{B})_r=\frac{1}{r}\diffp{B_z}{\varphi}-\diffp{B_{\varphi}}{z}=J_r,\\
&(\rot{B})_{\varphi}=\diffp{B_r}{z}-\diffp{B_z}{r}=0,\\
&(\rot{B})_{z}=\frac{1}{r}\left(\diffp{(rB_{\varphi})}{r}-\diffp{B_r}{\varphi}\right)=J_z.
\end{align*}

Учитывая, что $\diffp{\cdots}{\varphi}=0$ у нас остается:

\begin{align*}
&-\diffp{B_{\varphi}}{z}=J_r,\\
&\frac{1}{r}\diffp{(rB_{\varphi})}{r}=J_z.
\end{align*}


\lipsum[1-4]
\begin{wrapfigure}{r}{0.5\linewidth}
\centering
\pgfplotsset{width=1.0\linewidth}
\begin{tikzpicture}
\begin{axis}
[y label style={rotate = -90,at={(ticklabel cs:0.93)}},
x label style={at={(ticklabel cs:0.93)}},
ylabel shift=-80,
xlabel shift=-45,
xlabel=$m${, м},
ylabel={$U_z$,м/с},
xtick pos=left,
ytick pos=left,
yticklabel style={anchor=east}]

\addplot coordinates {
( 338.1, 266.45 )
( 169.1, 143.43 )
( 84.5, 64.80 )
( 42.3, 34.19 )
( 21.1, 9.47 )};

\end{axis}
\end{tikzpicture}
\end{wrapfigure}
\leavevmode
\lipsum[1-6]

\end{document}

Большое спасибо за морально-логическую поддержку!

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group