2016-01-10 2 views
2

Мне не нравится использовать внешний редактор изображений так же, как xfig, потому что он не делает работу. Вот пример:Как плавать текст вокруг изображения tikz в среде теорем LaTeX?

\documentclass{article} 
\usepackage[T1]{fontenc} 
\usepackage[utf8]{inputenc} 
\usepackage[magyar]{babel} 

\usepackage{amsthm} 
\usepackage{amsmath} 
\usepackage{amssymb} 
\usepackage{amstext} 

\usepackage{tikz} 
\usepackage{cutwin} 

\newtheorem{thm}{tétel} 

\begin{document} 
    \section{Téglalap} 
     \begin{thm} 
      A téglalap a területét az oldalhosszakból az 
      $$A=ab$$ 
      képlettel számolhatjuk ki. 
     \end{thm} 
     \begin{proof} 
      A bizonyítás grafikusan igen jól szemléltethető. Vegyünk fel ugyanis egy $a+b$ oldalhosszúságú négyzetet, és ebben helyezzük el a négy egybevágó téglalapot. 
      \opencutleft\begin{cutout}{3}{0pt}{\textwidth}{1} 
       \begin{tikzpicture} 
        \draw (0,0) -- (0,1) -- (3,1) -- (3,0) -- cycle; 
        \draw (3,0) -- (4,0) -- (4,3) -- (3,3) -- cycle; 
        \draw (4,3) -- (4,4) -- (1,4) -- (1,3) -- cycle; 
        \draw (0,4) -- (1,4) -- (1,1) -- (0,1) -- cycle; 
       \end{tikzpicture} 
      \end{cutout} 
      A nagy négyzet területe $A=(a+b)^2$, a belső kis négyzet oldalhossza $a-b$, így a területe $A'=(a-b)^2$. A kettő különbsége lesz a négy téglalap területének összege: 
      \begin{align*} 
       (a+b)^2-(a-b)^2&=a^2+b^2+2ab-(a^2+b^2-2ab)=\\ 
       &=4ab=4A. 
      \end{align*} 

      Innen egy téglalap területe az egybevágóság miatt már megkapható, és ez pont a tétel állítása. 
     \end{proof} 
\end{document} 

Проблема заключается в том, что картина скользит над верхним текстом, а пространство над пустым, то начинается следующий текст. Когда я изменяю пробелы, изображение идет вверх, и, понижая эти числа, он приближается к запланированному месту, ожидая его при числе 0. Но когда я пишу ноль, переводчик выдает ошибки из-за этого и выходит. Точное сообщение говорит «Недостающее число, обработанное az zero».

ответ

2

Возможно, вам лучше всего позволить вашему изображению tikz быть частью фигуры, на которую вы можете ссылаться на свою теорему. Одним из способов достижения этой цели является встроить tikz картину в savebox, например:

\documentclass{article} 
\usepackage{tikz} 
\usepackage{amsmath} 
\newtheorem{theorem}{Theorem} 

%% Define savebox and tikz picture 
\newsavebox{\mytikzpic} 
\begin{lrbox}{\mytikzpic} 
    \begin{tikzpicture} 
     \draw (0,0) -- (0,1) -- (3,1) -- (3,0) -- cycle; 
     \draw (3,0) -- (4,0) -- (4,3) -- (3,3) -- cycle; 
     \draw (4,3) -- (4,4) -- (1,4) -- (1,3) -- cycle; 
     \draw (0,4) -- (1,4) -- (1,1) -- (0,1) -- cycle; 
    \end{tikzpicture} 
\end{lrbox} 

\begin{document} 
\subsection*{My TiKZ picture within a savebox} 
\noindent See my TiKZ picture in Figure~\ref{fig1}. 
\begin{theorem} 
    I have some theorem using this TiKZ picture in Figure~\ref{fig1}, which yields 
    \begin{align*} 
     x = c^2 + \sum_{i=1}^4 ab, 
    \end{align*} 
    \noindent where $a$ and $b$ are side lengths of the rectangles in Figure~\ref{fig1}, and $c$ the side length of the middle square. 
    %% Include savebox in a figure 
\begin{figure}[h] 
    \centering 
    \usebox{\mytikzpic} 
    \caption{My TiKZ picture.} 
    \label{fig1} 
\end{figure} 
    % 

    \noindent And with this, the area has been blahablasized. 
\end{theorem} 
\end{document} 

Производство следующий вывод:

enter image description here

Естественно, вы можете переместить фигуру вне среды теоремы, если вы этого желаете.


Заметим также, что если вы хотите, чтобы удалить всю фигуру заголовка, просто введите цифру в

\begin{figure}[h] 
    \centering 
    \usebox{\mytikzpic} 
\end{figure} 

В файле .tex, вместо того, чтобы производить следующее:

enter image description here

0

wrapfig пакет не помогает внутри proof окружающей среды, поэтому я отправлю очень просто no-float альтернатива хорошему ответу @dfri.

\documentclass{article} 
\usepackage[T1]{fontenc} 
\usepackage[utf8]{inputenc} 
\usepackage[magyar]{babel} 

\usepackage{amsthm} 
\usepackage{amsmath} 
\usepackage{amssymb} 
\usepackage{amstext} 

\usepackage{tikz} 
%\usepackage{cutwin} 

\newtheorem{thm}{tétel} 

\begin{document} 
    \section{Téglalap} 
    \begin{thm} 
     A téglalap a területét az oldalhosszakból az 
     $$A=ab$$ 
     képlettel számolhatjuk ki. 
    \end{thm} 
    \begin{proof} 
     A bizonyítás grafikusan igen jól szemléltethető. Vegyünk fel ugyanis egy $a+b$ oldalhosszúságú négyzetet, és ebben helyezzük el a négy egybevágó téglalapot. 
     \begin{center} 
      \begin{tikzpicture} 
      \draw (0,0) -- (0,1) -- (3,1) -- (3,0) -- cycle; 
      \draw (3,0) -- (4,0) -- (4,3) -- (3,3) -- cycle; 
      \draw (4,3) -- (4,4) -- (1,4) -- (1,3) -- cycle; 
      \draw (0,4) -- (1,4) -- (1,1) -- (0,1) -- cycle; 
      \end{tikzpicture} 
     \end{center} 
     A nagy négyzet területe $A=(a+b)^2$, a belső kis négyzet oldalhossza $a-b$, így a területe $A'=(a-b)^2$. A kettő különbsége lesz a négy téglalap területének összege: 
     \begin{align*} 
      (a+b)^2-(a-b)^2&=a^2+b^2+2ab-(a^2+b^2-2ab)=\\ 
      &=4ab=4A. 
     \end{align*} 

     Innen egy téglalap területe az egybevágóság miatt már megkapható, és ez pont a tétel állítása. 
    \end{proof} 
\end{document} 

выходы:

screenshot

Обратите внимание, что я только отредактированные линии 25 и 32 (и прокомментированы \usepackage{cutwin} в строке 12): center среды ведет себя должным образом и с текстом произвольной длиной до того \section{}.

Я отправлю сообщение об обновлении, если выработаю неплохую настройку для среды cutout, которая предназначена для использования in theorem-like environments.