Pgfplots e ClassicThesis: dois enredos lado a lado

Pgfplots e ClassicThesis: dois enredos lado a lado

Sempre adorei a pequena largura do texto imposta no ClassicThesis, mas é um problema quando temos muitas imagens/gráficos. Gostaria de ter dois terrenos lado a lado para ganhar espaço (não são terrenos muito importantes e não quero "desperdiçar" uma página inteira com eles). Porém, também usá \pgfplotsset{small}-los não cabe. Eu poderia torná-los ainda menores, mas eles se tornaram ilegíveis.

Qual é a melhor solução para resolver este problema? Aumentar a largura do texto da tese clássica? Usar makeboxpara ignorar as margens? Desistir? Gostaria de obter o melhor resultado possível tipograficamente.

Responder1

Para meus casos semelhantes, defino um novo ambiente chamadolargopara o qual eu uso a macro adjustwithdo pacote 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*}
     }

O pacote calcé usado no cálculo da largura do ambiente e da extensão dolargofora da largura do texto. Com {adjustwidth*}a extensão é sempre ir para a borda externa da página. Exemplo de seu uso é:

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

Responder2

@Zarko já postou uma boa resposta para criar um wideambiente para empilhar as figuras dentro. Dependendo do layout exato da página do documento, para frente e verso, prefiro, em alguns casos, usar a margem interna como ponto final:

insira a descrição da imagem aqui

Isso pode ser feito definindo um novo \raggedoutcomando que chama \flushleftuma página verso e \flushrightuma página anterior:

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

Isso é então usado na definição da wideseguinte forma:

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

Finalmente, para alguns casos, você pode muito bem querer ter algum espaço elástico entre as figuras, e usar \hfilaqui colocará uma distância igual entre a margem externa e a figura externa e entre as próprias duas figuras. A fonte da imagem acima:

\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}

informação relacionada