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 makebox
para 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 adjustwith
do 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 wide
ambiente 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:
Isso pode ser feito definindo um novo \raggedout
comando que chama \flushleft
uma página verso e \flushright
uma 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 wide
seguinte 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 \hfil
aqui 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}