2014 dxdy logo

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

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




Начать новую тему Ответить на тему
 
 Неплавающее окружение в LaTex
Сообщение16.03.2011, 19:39 


12/03/11
16
Здравствуйте господа....У меня следующая проблема...Вставляю рисунки в LaTex мне нужны их подписи, т.е. нумерация, но {figure} не подходит т.к это плавающее окружение, а мне нужно надписи в определенных местах....Спасибо....

 Профиль  
                  
 
 Re: Неплавающее окружение в LaTex
Сообщение17.03.2011, 02:14 
Заслуженный участник
Аватара пользователя


23/07/05
17996
Москва
Если верить написанному у Львовского, то команда

Используется синтаксис LaTeX
\begin{figure}[h]
\includegraphics[width=50mm]{Fig_gr3}\hfill\includegraphics[height=50mm]{Fig_gr4}\\ \parbox{50mm}{\caption{$0<k<3-2\sqrt{2}$}\label{F3}}\hfill\parbox{50mm}{\caption{$k=3-2\sqrt{2}$}\label{F4}}
\end{figure}

должна вставлять рисунок именно в том месте, где она находится.
Здесь команда \caption генерирует подпись, а \label - номер рисунка, на который можно ссылаться командой \ref. В моём случае получилось примерно так: два рисунка, а под ними - соответствующие подписи
Рис. 3: $0<k<3-2\sqrt{2}\qquad\qquad\qquad\qquad\qquad\qquad$ Рис. 4: $k=3-2\sqrt{2}$

 Профиль  
                  
 
 
Сообщение17.03.2011, 09:06 


12/03/11
16
Дело все в том, что получается немного не так....Действительно вставляется рисунок, но если он в конце страницы и не помещается, то он переносится на следующую, а текст идущий за ним переносится на прежнюю страницу, потому что так есть место....

 Профиль  
                  
 
 
Сообщение17.03.2011, 10:31 


29/09/06
4552
Найдите/подключите стиль here (here.sty) и сделайте так:
\begin{figure}[H] % <--- Большая Буква H
......
\end{figure}

 Профиль  
                  
 
 Re: Неплавающее окружение в LaTex
Сообщение17.03.2011, 15:48 


12/03/11
16
В таком случае картинку просто не видно т.е. она не выводится совсем.....Может быть нужна какая-нибудь библиотека?

 Профиль  
                  
 
 
Сообщение17.03.2011, 19:45 


29/09/06
4552
Ну, не знаю. ПОльзовался давно, всё было легко и просто. Я нашёл в старых файлах кусок кода из этого стиля, который я тогда просто выкрал и скопировал в преамбулу:
Код:
\makeatletter
%                From here.sty
\ifx\@Hxfloat\@Hundef\else\expandafter\endinput\fi
\let\@Hxfloat\@xfloat
\def\@xfloat#1[{\@ifnextchar{H}{\@HHfloat{#1}[}{\@Hxfloat{#1}[}}
\def\@HHfloat#1[H]{%
\expandafter\let\csname end#1\endcsname\end@Hfloat
\vskip\intextsep\def\@captype{#1}\parindent\z@
\ignorespaces}
\def\end@Hfloat{\vskip \intextsep}
\makeatother
И всё нормально работало.
Что ни подписи, ни пустого места под картинку?

 Профиль  
                  
 
 Re: Неплавающее окружение в LaTex
Сообщение17.03.2011, 20:07 


12/03/11
16
Нет, совсем не выделяет место, как и не было....

-- Чт мар 17, 2011 20:32:40 --

Код никак не помог.....

Имею следующий код:

\documentclass{article}
\usepackage[utf8x]{inputenc}
\usepackage[warn]{mathtext}
\usepackage[russian]{babel}
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{geometry}
\usepackage{mathrsfs}
\usepackage{amssymb}
\usepackage{graphicx}
\makeatletter
% From here.sty
\ifx\@Hxfloat\@Hundef\else\expandafter\endinput\fi
\let\@Hxfloat\@xfloat
\def\@xfloat#1[{\@ifnextchar{H}{\@HHfloat{#1}[}{\@Hxfloat{#1}[}}
\def\@HHfloat#1[H]{%
\expandafter\let\csname end#1\endcsname\end@Hfloat
\vskip\intextsep\def\@captype{#1}\parindent\z@
\ignorespaces}
\def\end@Hfloat{\vskip \intextsep}
\makeatother
\geometry{left=2cm}
\geometry{right=2cm}
\geometry{top=2cm}
\geometry{bottom=2cm}
\begin{document}
\begin{center}
Лабараторная работа \No405
\end{center}
\begin{center}
{\bf ПРЕОБРАЗОВАНИЕ фУРЬЕ В ОПТИКЕ}
\end{center}
\texttt{{\small {\bf В работе используются:} гелий-неоновый лазер, кассета с набором сеток разного периода, щель с микрометрическим винтом, линзы, экран, линейка.}}

\vspace{6mm} {\bf А. Определение ширины щели}
\begin{center}
{\small {I. Определение ширины щели с помощью линзы}}
\end{center}
\begin{center}
\begin{figure}[htb]
\center{\includegraphics[width=0.5\linewidth]{image1}}
\caption{Схема для определения ширины щели с помощью линзы}
\label{ris:image1}
\end{figure}
\end{center}

{\bf 1.Зависимость размера щели $D_{1}$ от ширины щели D}
\begin{table}[htb]
\caption{Зависимость размера щели D от ширины щели D}
\label{primer}
\begin{center}
\begin{tabular}{|c||c|}
\hline
D$\times 10$мкм&$D_{1}$,mm\\
\hline
7&0\\
\hline
25&3\\
\hline
37&4\\
\hline
55&5\\
\hline
64&8\\
\hline
75&11\\
\hline
100&17\\
\hline
108&21\\
\hline
138&27\\
\hline
\end{tabular}
\end{center}
\end{table}

{\bf 2.Определение увеличение системы}
\begin{center}
\[
Г=\frac{D_{1}}{D}
\]
\end{center}

Увеличение линзы $\equiv$ коэффициенту наклона графика. Определим коэффициент наклона.

\begin{table}[htb]
\caption{Коэффициент наклона}
\label{primer}
\begin{center}
\begin{tabular}{|l|r|}
\hline
<D>&10.667\\
\hline
<$D_{1}$>&67.667\\
\hline
$S^{2}_{D}$&74.444\\
\hline
$S^{2}_{D_{1}}$&1587.555\\
\hline
$R_{DD_{1}}$&337.000\\
\hline
a&2.263\\
\hline
$\Delta$a&0.712\\
\hline
\end{tabular}
\end{center}
\end{table}
\begin{figure}[h]
\center{\includegraphics[width=0.8\linewidth]{lab2}}
\caption{Зависимость ширины щели от размера изображения}
\label{ris:lab2}
\end{figure}

Тогда увеличение системы:
\begin{center}
Г=(2.3$\pm$0.7)$\times10^{1}$
\end{center}
{\bf 3.Определение ширины щели}

L=$a_{1}$+$b_{1}$=140 см

$F_{1}$=38 мм

\begin{center}
$ Г=\frac{b_{1}}{a_{1}}$
\end{center}
\begin{center}
$ Г=\frac{3.8}{136.2}$=35.8
\end{center}

Тогда ширина входной щели:
\begin{center}
$D_{л}=\frac{D_{1}}{Г}$
\end{center}
\begin{table}[htb]
\caption{Ширина щели $D_{л}$ }
\label{primer}
\begin{center}
\begin{tabular}{|c|c|c|}
\hline
D$\times 10$мкм&$D_{1}$,mm&$D_{л}\times 10^{-2}$,mm\\
\hline
7&0&0\\
\hline
25&3&8.4\\
\hline
37&4&11.2\\
\hline
55&5&14.0\\
\hline
64&8&22.4\\
\hline
75&11&30.7\\
\hline
100&17&47.5\\
\hline
108&21&58.7\\
\hline
138&27&75.4\\
\hline
\end{tabular}
\end{center}
\end{table}

\vspace{6mm} {\bf Б.Определение периода решеток}
\begin{center}
{\small {I. Определение периода по спектру на удаленном экране}}
\end{center}
Расстояние от кассеты до экрана:

L=134$\pm$1 см
\begin{table}[htb]
\caption{Расстояние X между m-ми максимумами }
\label{primer}
\begin{center}
\begin{tabular}{|c|c|c|}
\hline
X,мм&m&№\\
\hline
39&2& \\
\cline{1-2}
72&5& \\
\cline{1-2}
43&3&6\\
\cline{1-2}
14&1& \\
\hline
30&1&\\
\cline{1-2}
58&2&5\\
\cline{1-2}
87&3&\\
\hline
40&1&\\
\cline{1-2}
58&2&4\\
\cline{1-2}
87&3&\\
\hline
37&1&\\
\cline{1-2}
73&2&3\\
\cline{1-2}
108&3&\\
\hline
76&1&\\
\cline{1-2}
148&2&2\\
\hline
9&1&\\
\cline{1-2}
18&2&\\
\cline{1-2}
27&3&1\\
\cline{1-2}
34&4&\\
\cline{1-2}
43&5&\\
\hline
\end{tabular}
\end{center}
\end{table}



Нужно чтобы на странице все было тоже все в этом порядке...А после компиляции получается, что часть текста идет раньше.....

 Профиль  
                  
 
 
Сообщение17.03.2011, 22:27 


29/09/06
4552
У меня всё получилось (кроме русских букв в формулах).
Я Вам уже писал, теперь выделяю цветом:
Алексей К. в сообщении #423796 писал(а):
\begin{figure}[H] % <--- Большая Буква H

Плохо, не по-ТеХовски делать так:
Код:
\begin{center}
\begin{figure}[htb]
\center{\includegraphics[width=0.5\linewidth]{image1}}
\caption{Схема для определения ширины щели с помощью линзы}
\label{ris:image1}
\end{figure}
\end{center}
Странно помещать плавающий объект в такое окружение (удивительно, что не ругается). У Вас есть команда центрирования внутри фигуры.
Можно так:
Код:
\begin{figure}[H]
\centering%
\includegraphics[width=0.5\linewidth]{image1}
\caption{Схема для определения ширины щели с помощью линзы}
\label{ris:image1}
\end{figure}

Вот это
Код:
Тогда увеличение системы:
\begin{center}
Г=(2.3$\pm$0.7)$\times10^{1}$
\end{center}
пишется так:
Код:
Тогда увеличение системы:
$$\Gamma=(2.3\pm0.7)\times10^1$$

Заполучить русские буквы в фомулах с помощью этого пакета (mathtext.sty) мне так и не удалось.
Это можно сделать командами типа $$ 24\text{л} +24\text{м}^2 =5\dfrac{\text{км}}{\text{час}}$$

 Профиль  
                  
 
 
Сообщение18.03.2011, 01:08 


12/03/11
16
Ну я ведь говорю, если поставить "H", то картинки просто нету.....

 Профиль  
                  
 
 
Сообщение18.03.2011, 10:03 


13/02/11
29
Возможно, есть смысл подключить пакет placeins и сразу после рисунка поставить команду вывести все плавающие объекты?
Код:
\usepackage[section]{placeins} % чтобы плавающие объекты не выходили за пределы своей секции
...
\begin{figure}[!h]
\centering
\includegraphics[width=0.5\linewidth]{image1}
\caption{Схема для определения ширины щели с помощью линзы}
\label{ris:image1}
\end{figure}
\FloatBarrier

 Профиль  
                  
 
 
Сообщение18.03.2011, 11:24 


29/09/06
4552
alex_long в сообщении #424106 писал(а):
Ну я ведь говорю, если поставить "H", то картинки просто нету.....
Всё работает и на форумном Латехе:


Updated: С учётом замечания .Serj., удаляю свой громоздкий пример.

 Профиль  
                  
 
 Re: Неплавающее окружение в LaTex
Сообщение18.03.2011, 11:36 


12/03/11
16
Но у меня ее нет....В чем причина может быть?

 Профиль  
                  
 
 Re: Неплавающее окружение в LaTex
Сообщение18.03.2011, 11:49 


29/09/06
4552
Не знаю. Я во внутренностях ТеХ'а не особо разбираюсь. Здесь иногда предлагают выложить лог-файлы.
Сами их внимательно посмотрите, может чего-то увидите.
Моё предыдущее сообщение возьмите, скопируйте, засуньте его между \begin{document} и \end{document}, откомпилируйте...

 Профиль  
                  
 
 Re: Неплавающее окружение в LaTex
Сообщение18.03.2011, 11:56 


12/03/11
16
algia спасибо, все работает...

 Профиль  
                  
 
 
Сообщение19.03.2011, 09:37 
Аватара пользователя


01/02/09
206
Кстати, о here.sty. Его не надо подключать, он устарел:
Используется синтаксис LaTeX
% (Public domain.)
%
% The original here.sty by David Carlisle was withdrawn many years ago.
% The [H] modifier is now implemented in float.sty, which this here.sty
% simply reads.  Another option is to use a float specifier [!ht], which
% usually has the same effect, and keeps floats in the right order.  The
% present trivial here.sty merely allows old documents to keep running.
%
% --Karl Berry, November 2009.
\RequirePackage{float}
 

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

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



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

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


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

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