Pgfplots и ClassicThesis: два графика рядом

Pgfplots и ClassicThesis: два графика рядом

Мне всегда нравилась маленькая ширина текста, навязанная в ClassicThesis, но это проблема, когда у нас много изображений/графиков. Я хотел бы иметь два графика рядом, чтобы сэкономить место (это не очень важные графики, и я не хочу «тратить» на них целую страницу). Однако, даже используя их, \pgfplotsset{small}они не помещаются. Я мог бы сделать их еще меньше, но они стали бы нечитаемыми.

Какое лучшее решение для решения этой проблемы? Увеличить ширину текста классического тезиса? Использовать makeboxдля того, чтобы игнорировать поля? Отказаться? Я хотел бы получить наилучший возможный результат типографически.

решение1

Для моих подобных случаев я определяю новую среду с именемширокийдля чего я использую макрос adjustwithиз пакета changewidth:

\usepackage{calc}
\usepackage[strict]{changepage}

    \newsavebox\widebox
\newenvironment{wide}%
    {\@parboxrestore%
     \begin{adjustwidth*}{}{-\marginparwidth-\marginparsep}%
                \begin{lrbox}{\widebox}%
                \begin{minipage}{\textwidth+\marginparsep+\marginparwidth}%
    }{\end{minipage}\end{lrbox}
      \usebox\widebox}%
      \end{adjustwidth*}
     }

Пакет calcиспользуется при расчете ширины потока среды и величины расширенияширокийза пределами ширины текста. С {adjustwidth*}расширением всегда идет к внешней границе страницы. Пример его использования:

\begin{figure}[htb] % or table
    \begin{wide}
\includegraphics[width=\hsize]{example-image}
    \caption{Ma wide figure}
\label{fig:wide}
    \end{wide}
\end{figure}

решение2

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

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

Это можно сделать, определив новую \raggedoutкоманду, которая вызывается \flushleftна оборотной и \flushrightлицевой страницах:

% Symmetric ragged commands
\newcommand\IfOddPage{%
  \checkoddpage
  \ifoddpage\expandafter\@firstoftwo
  \else\expandafter\@secondoftwo\fi}
\newcommand\raggedout{\IfOddPage\raggedright\raggedleft}
\newcommand\raggedin{\IfOddPage\raggedleft\raggedright}

Затем это используется в определении wideследующим образом:

\newenvironment{wide}{%
  \begin{adjustwidth*}{0pt}{-\marginparsep-\marginparwidth}
    \raggedout
}{%
  \end{adjustwidth*}%
}

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

\begin{figure}
  \begin{wide}
    \begin{subfigure}
      \psfragfig{PhD/Experiments/Gauss/fig/gauss-vertical}
      \caption{Axial displacement down the centreline.\figlabel{gauss-vertical}}
    \end{subfigure}%
    \hfil % <= pay attention!
    \begin{subfigure}
      \psfragfig{PhD/Experiments/Gauss/fig/gauss-radial}
      \caption{Radial displacement with a \SI{5}{mm} offset.\figlabel{gauss-radial}}
    \end{subfigure}
  \end{wide}
  \caption[
    Magnetic flux density measurements of a cylindrical permanent magnet.
  ]{
    Magnetic flux density measurements of an \maggrade{35} neodymium \diameter\SI{100x30}{mm} cylindrical permanent magnet.
    The origin of the measurements is \SI{5}{mm} from the face of the magnet.
  }
  \figlabel{gauss-meas}
\end{figure}

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