2014 dxdy logo

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

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




На страницу 1, 2  След.
 
 Вставка графиков в 2 столбца
Сообщение18.01.2019, 18:55 
Аватара пользователя
Здравствуйте.
Хочу вставить графики одинакового размера с подписью к каждому графику отдельно так, чтобы на одной странице было 2 столбца и 3 строки (т.е. по 6 графиков на страницу, (для графиков хочу выделить отдельные страницы без текста)). Я сделал так, что просто дублирую 3 раза такой блок

Используется синтаксис LaTeX
\begin{figure}[p]
\begin{minipage}[p]{0.45\linewidth}
\center{\includegraphics[width=1\linewidth]{1.pdf}}
\caption{...}
\end{minipage}
\hfill
\begin{minipage}[p]{0.45\linewidth}
\center{\includegraphics[width=1\linewidth]{2.pdf}}
\caption{...}
\end{minipage}
\end{figure}
 

и получаю размещение 6-ти графиков так, как хотел. Но если мне нужно разместить на странице не 6 графиков, а другое количество, то LaTeX авоматически раздвигает их так (по вертикали), чтобы отступы снизу и сверху были одинаковыми.
Мне бы хотелось использовать какие-то более простые команды чтобы размещать графики (одинакового размера) такой "сеточкой" и без автоматического выравнивания, т.е. хочу чтобы вертикальные отступы между графиками всегда были одинаковы. Короче, получается вот так

Изображение

а хочется чтобы было вот так

Изображение

Может какой-то самый простой блок команд есть чтобы картинки можно было как елементы матрицы вставлять?

 
 
 
 Re: Вставка графиков в 2 столбца
Сообщение18.01.2019, 20:25 
Аватара пользователя
Не занимайтесь фигней и используйте пакет subfig

 
 
 
 Re: Вставка графиков в 2 столбца
Сообщение18.01.2019, 22:04 
Аватара пользователя
Red_Herring, нашел пример с subfig, попробовал так

код: [ скачать ] [ спрятать ]
Используется синтаксис LaTeX
\documentclass[14pt]{article}
\usepackage{graphicx}
\usepackage{subfig}
\usepackage[left=10mm, top=20mm, right=10mm, bottom=20mm]{geometry}

\begin{document}

\begin{figure}
\subfloat[]{\includegraphics[width=0.55\columnwidth]{name.pdf}}
\qquad
\subfloat[]{\includegraphics[width=0.55\columnwidth]{name.pdf}}
\qquad
\subfloat[]{\includegraphics[width=0.55\columnwidth]{name.pdf}}
\end{figure}

\end{document}
 

и получил вот так

Изображение

Проблемы:
1) Нужно убрать вертикальный отступ сверху.
2) Нужно сделать одинаковые отступы слева и справа (если добавить \centering, то если графиков нечетное число, то последний будет посередине, чего не нужно).
3) Нужно уменьшить горизонтальный отступ между графиками.
4) Нужно сделать описание для каждого графика отдельно, но использование \caption для каждого графика отдельно выдает ошибку. Если же писать описание в квадратных скобках, то будут латинские буквы a, b, c,..., как их убрать непонятно.
5) Если есть много графиков, то получается

Изображение

Подскажите, пожалуйста, что можно сделать?

 
 
 
 Re: Вставка графиков в 2 столбца
Сообщение18.01.2019, 22:35 
Аватара пользователя
Естественно. Сколько картинок? У вас там 3..

Я обычно

код: [ скачать ] [ спрятать ]
Используется синтаксис LaTeX
\begin{figure}[h]
\centering
\subfloat[]{%
\includegraphics{buka}}
\quad
\centering
\subfloat[]{%
\includegraphics{kaka}}

\subfloat[]{%
\includegraphics{buka2}}
\quad
\centering
\subfloat[]{%
\includegraphics{kaka2}}

\subfloat[]{%
\includegraphics{buka3}}
\quad
\centering
\subfloat[]{%
\includegraphics{kaka3}}
\end{figure}


при этом вы оставляете пустые строки там, где хотите начать новый ряд картинок

 
 
 
 Re: Вставка графиков в 2 столбца
Сообщение18.01.2019, 23:08 
Аватара пользователя
Red_Herring, у меня 15 картинок. Попробовал сделать как в примере, но проблемы остались.

 
 
 
 Re: Вставка графиков в 2 столбца
Сообщение19.01.2019, 00:02 
Аватара пользователя
misha.physics
Ну я бы ставил по 3 картинки в ряд.

Не знаю вашего documentclass и окружения трудно что-либо сказать. Про вертикальные расстояния ничего сказать невозможно, т.к. каково отношение высоты и ширины картинок вы не написали. Еще одна возможная проблема: картинки могут содержать верхние/нижние/правые/левые поля (margins), которые вы не видите, но LaTeX их не игнорирует. Если это так, их надо "обрезать".

Наконец, у вас очень много картинок, и обычно LaTeX такого "не любит", чтобы много картинок на страницу. Возможно у вас больше чем одна страница, или картинки начинаются не на самом верху страницы, и затем их надо продолжить на следующую страницу.

Все это делается, но надо самому пытаться, потому что некоторые проблемы очень конкретные.

 
 
 
 Re: Вставка графиков в 2 столбца
Сообщение19.01.2019, 00:12 
Аватара пользователя
Ещё есть команда \raggedbottom, чтобы высоты страниц не выравнивались.

 
 
 
 Re: Вставка графиков в 2 столбца
Сообщение19.01.2019, 00:18 
Аватара пользователя
Red_Herring, мой documentclass можете посмотреть здесь (я выше приводил полный комплируемый код)

код: [ скачать ] [ спрятать ]
Используется синтаксис LaTeX
\documentclass[14pt]{article}
\usepackage{graphicx}
\usepackage{subfig}
\usepackage[left=10mm, top=20mm, right=10mm, bottom=20mm]{geometry}

\begin{document}

\begin{figure}
\subfloat[]{\includegraphics[width=0.55\columnwidth]{name.pdf}}
\qquad
\subfloat[]{\includegraphics[width=0.55\columnwidth]{name.pdf}}
\qquad
\subfloat[]{\includegraphics[width=0.55\columnwidth]{name.pdf}}
\end{figure}

\end{document}
 

Вот какой результат (страницу) я получаю

Изображение

-- 18 янв 2019, 23:19 --

Хорошо, пусть будет по 3 картинки в ряд, так даже лучше.

-- 18 янв 2019, 23:21 --

Просто графиков много и я решил их размещать не среди текста, а в конце, на отдельных страницах, что-то вроде дополнения (как таблицы, диаграммы и т. д. делают).

-- 18 янв 2019, 23:23 --

Да, на одну страницу все графики не помещаются, нужно чтобы автоматически создавалась новая страница.

-- 18 янв 2019, 23:25 --

Someone,
Someone в сообщении #1369828 писал(а):
Ещё есть команда \raggedbottom, чтобы высоты страниц не выравнивались.

Спасибо, а где эту команду следует поместить?

-- 18 янв 2019, 23:58 --

Да, действительно, похоже большие горизонтальные отступы между графиками связаны с самими графиками :-)

Изображение

 
 
 
 Re: Вставка графиков в 2 столбца
Сообщение19.01.2019, 01:05 
Аватара пользователя
misha.physics в сообщении #1369832 писал(а):
Спасибо, а где эту команду следует поместить?
В преамбуле.

 
 
 
 Re: Вставка графиков в 2 столбца
Сообщение19.01.2019, 21:18 
Аватара пользователя
Someone, я добавил команду \raggedbottom в преамбулу, но изменений не заметил. В общем, експериментальным путем я уже почти сделал так, как хотел, но осталась одна задача. Нужно прымкнуть рисунки к верхней стороне страницы, а TeX центрирует их вертикально посередине.

 
 
 
 Re: Вставка графиков в 2 столбца
Сообщение19.01.2019, 21:25 
Аватара пользователя
misha.physics в сообщении #1370024 писал(а):
я добавил команду \raggedbottom в преамбулу, но изменений не заметил.
Возможно, я ошибся с местом. А сразу после \begin{document} не пробовали?

 
 
 
 Re: Вставка графиков в 2 столбца
Сообщение19.01.2019, 21:41 
Аватара пользователя
Someone, да, пробовал, без изменений.

-- 19 янв 2019, 20:59 --

Я поискал, есть же команда \begin{figure}[pt], которая, по идее, должна взять то, что находится между \begin{figure}[pt] и \end{figure}, выделить для этого новую страницу и поместить вверх этой страницы. Но нет же. Не работает.
Зато, если написать \begin{figure}[h], то получается

Изображение

но если поместить ещё три графики (все с той же командой \begin{figure}[h]), то получается

Изображение

Ну вот как это может не бесить. Видно же что вертикальный отступ от верхнего краю страницы разный. А я только добавил ещё 3 графика и все. Или я слишком многого хочу :) Или что...

-- 19 янв 2019, 21:05 --

И если между \begin{figure} и \end{figure} будет слишком много рисунков, то получается

Изображение

т.е. TeX не может выделить новую страницу для рисунков, которые не поместились целиком. Приходится снова писать \begin{figure}...\end{figure}, чтобы получилась новая страница.

 
 
 
 Re: Вставка графиков в 2 столбца
Сообщение19.01.2019, 22:25 
Аватара пользователя
Все правильно. С floats надо осторожно

 
 
 
 Re: Вставка графиков в 2 столбца
Сообщение20.01.2019, 02:42 
Аватара пользователя
Red_Herring, попробовал так

код: [ скачать ] [ спрятать ]
Используется синтаксис LaTeX
\documentclass[14pt]{article}
\usepackage{graphicx}
\usepackage{subfig}
\usepackage[left=10mm, top=20mm, right=10mm, bottom=20mm]{geometry}

\begin{document}

\begin{figure}[h]
\subfloat[]{\includegraphics[width=0.3\columnwidth]{name.pdf}}
\qquad
\subfloat[]{\includegraphics[width=0.3\columnwidth]{name.pdf}}
\qquad
\subfloat[]{\includegraphics[width=0.3\columnwidth]{name.pdf}}
\qquad
\subfloat[]{\includegraphics[width=0.3\columnwidth]{name.pdf}}
\qquad
\subfloat[]{\includegraphics[width=0.3\columnwidth]{name.pdf}}
\qquad
\subfloat[]{\includegraphics[width=0.3\columnwidth]{name.pdf}}
\qquad
\subfloat[]{\includegraphics[width=0.3\columnwidth]{name.pdf}}
\qquad
\subfloat[]{\includegraphics[width=0.3\columnwidth]{name.pdf}}
\qquad
\subfloat[]{\includegraphics[width=0.3\columnwidth]{name.pdf}}
\qquad
\subfloat[]{\includegraphics[width=0.3\columnwidth]{name.pdf}}
\qquad
\subfloat[]{\includegraphics[width=0.3\columnwidth]{name.pdf}}
\qquad
\subfloat[]{\includegraphics[width=0.3\columnwidth]{name.pdf}}
\end{figure}
\begin{figure}[h]
\subfloat[]{\includegraphics[width=0.3\columnwidth]{name.pdf}}
\qquad
\subfloat[]{\includegraphics[width=0.3\columnwidth]{name.pdf}}
\qquad
\subfloat[]{\includegraphics[width=0.3\columnwidth]{name.pdf}}
\end{figure}

\end{document}
 

Получается так

(Оффтоп)

Изображение

Нужно на второй странице переместить графики вверх, причем я хочу чтобы отступ от верхнего края был такой же, как на первой странице. Ещё проблема, когда для того чтобы создать новую страницу я пишу снова \begin{figure}[h], то латинские буквы сначала пробегают значения $a,b,c,...$ (оно и понятно). Можете что-то подсказать, пожалуйста?

 
 
 
 Re: Вставка графиков в 2 столбца
Сообщение20.01.2019, 02:58 
Аватара пользователя
Когда продолжаете фигуру на новой странице, сразу после
Используется синтаксис LaTeX
\begin{figure}

вставьте
Используется синтаксис LaTeX
\ContinuedFloat

 
 
 [ Сообщений: 22 ]  На страницу 1, 2  След.


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