Рисунок очень неудачно размещен

Рисунок очень неудачно размещен

Я использую pdflatexизображения PDF для рисунков. Когда я не масштабирую изображение, рисунок выходит за пределы страницы. Когда я масштабирую изображение, оно очень плохо размещено. Немного слишком далеко справа от страницы. Я знаю, что что-то не так, потому что не только размещение выглядит ужасно, но и когда я помещаю рамку вокруг плавающего элемента, рамка пересекает изображение.

Вот минимальный рабочий пример. Я не уверен, как сюда вставить изображение PDF. Изображение вытянуто по горизонтали, а не стандартного размера. Думаю, в этом может быть проблема? Как решить эту проблему?

\documentclass{article}
\usepackage{graphicx}
\usepackage{float}
\begin{document}
\section{Section Title}
\begin{figure}[h]
  \caption{Blah blah}
  \includegraphics[scale=.4]{Graph.pdf}
\end{figure}
\end{document}

решение1

Использование scaleприводит к множеству проблем, особенно если у вас есть изображения с разными соотношениями сторон, вместо этого ограничьте размер изображения с помощью widthи heightследующим образом:

\includegraphics[width=\textwidth, height=\textheight, keepaspectratio]{Graph.pdf}

Изображение будет масштабировано таким образом, чтобы не превышать ни одного из двух пределов, и при этом сохранится правильное соотношение сторон.

Вы также можете использовать фактические размеры вместо \textwidthили , \textheightа также такие значения, как 0.7\textwidth.

Просто короткое объяснение, почему всегда хорошо включать как a , textwidthтак и a textheight. Количество плавающих элементов и объем вертикального пространства, которое они могут занимать на странице, контролируется рядом параметров. Например, topfractionуправляет верхней частью страницы, которую может занимать a top float. По моему мнению, настройки по умолчанию установлены слишком низкими, что приводит к тому, что относительно небольшие изображения занимают целые страницы.

Попробуйте минимум ниже. Затем измените \topfractionна 0,6 и попробуйте снова. Из двух красиво выглядящих страниц вы получите много пустоты и три страницы.

\documentclass[crown]{octavo}
\usepackage[showframe=true]{geometry}
\usepackage{graphicx,lipsum,caption}
 \renewcommand{\topfraction}{0.9}   % max fraction of floats at top change to 0.6
 \renewcommand{\bottomfraction}{0.9}% max fraction of floats at bottom
    %   Parameters for TEXT pages (not float pages):
 \setcounter{topnumber}{2}
 \setcounter{bottomnumber}{2}
\setcounter{totalnumber}{4}     % 2 may work better
\setcounter{dbltopnumber}{2}    % for 2-column pages
\renewcommand{\dbltopfraction}{0.7} % fit big float above 2-col. text
\renewcommand{\textfraction}{0.07}  % allow minimal text w. figs
 %   Parameters for FLOAT pages 
 \renewcommand{\floatpagefraction}{0.7}
% floatpagefraction must be less than topfraction !!
\renewcommand{\dblfloatpagefraction}{0.7} 
\begin{document}%
First page image will go to next page, if topfraction is less than 0.71

\begin{figure}[tp]
\rule{\textwidth}{0.71\textheight} 
\captionof{figure}{First Figure}
\end{figure}

\lipsum[1]

\begin{figure}[tp]
\rule{\textwidth}{0.3\textheight} 
\captionof{figure}{Second Figure}
\end{figure}
\end{document}

Вторая причина, которая более очевидна для включения высоты в спецификации, заключается в том, чтобы не вызывать переполнения внизу, как на изображении ниже, которое я установил width=\textwidth. Этот случай очень очевиден, но если у вас есть фигуры, которые более или менее квадратные, это может вас сбить с толку.

Лучшая стратегия для книги с большим количеством иллюстраций — стандартизировать несколько размеров изображений и тщательно задать все параметры.

введите описание изображения здесь

решение2

Вы пробовали использовать\centering

 \begin{figure}[h]
 \centering
 \caption{Blah blah}
 \includegraphics[scale=.4]{Graph.pdf}
 \end{figure}

решение3

Следующий код позволяет масштабировать изображение до полной ширины текстового блока (что является максимальным размером, который вы можете получить, не допуская, чтобы изображение выступало слева или справа или с обеих сторон):

\begin{figure}[ht]
\includegraphics[width=\textwidth]{Graph.pdf}
\caption{Blah blah} \label{fig:blahblah}
\end{figure}

Если ширина текстового блока недостаточна для того, чтобы отдать должное изображению, вы можете попробовать повернуть весь figurefloat на 90 градусов («портретный режим» на листе бумаги). Для этого вы можете использовать окружение sidewaysfigure, которое предоставляется пакетом rotating. Вы вводите \usepackage{rotating}преамбулу, а затем

\begin{sidewaysfigure}
\includegraphics[width=\textwidth]{Graph.pdf}
\caption{Blah blah} \label{fig:blahblah}
\end{sidewaysfigure}

Боковые фигуры автоматически размещаются на отдельных страницах, поэтому нет необходимости добавлять указатель местоположения [h]или [ht].

Связанный контент