Gostaria de alterar as opções de flutuação padrão das minhas figuras, de forma que só precise ajustar uma opção para alterar o comportamento de todas as figuras no documento. No meu computador anterior (Ubuntu 14.04), eu estava fazendo algo assim:
\documentclass{article}
\newcommand{\defaultplacement}{htb}
\begin{document}
\begin{figure}[\defaultplacement]
\caption{Example}
\end{figure}
\end{document}
Agora estou tentando construir no Ubuntu 16.04 e estou recebendo o seguinte erro:
./figures/ch1/coordinate_system.tex:1: LaTeX Error: Unknown float option `\'.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.1 \begin{figure}[\defaultplacement]
Parece que anteriormente o LaTeX estava substituindo \defaultplacement
seu valor antes do processamento, mas agora está processando a macro no local. Meu palpite é que minha solução original foi um pouco complicada e que existe uma maneira melhor de redefinir o posicionamento padrão figure
(e table
?) Que não consegui encontrar.
Responder1
LaTeX usa o conteúdo da macro \fps@<float>
como parâmetro padrão para o tipo float <float>
. Pode ser redefinido, por exemplo, para figure
:
\makeatletter
\renewcommand*{\fps@figure}{htb}
\makeatother
Então, as opções da macro se aplicam, se o float for usado sem o argumento opcional:
\begin{figure}
...
\end{figure}
Responder2
Heiko já mostrou a declaração correta, mas para responder
Parece que anteriormente o LaTeX estava substituindo
\defaultplacement
seu valor antes do processamento, mas agora está processando a macro no local.
Não. Anteriormente, caracteres desconhecidos eram ignorados silenciosamente, então
[\defaultplacement]
era o mesmo que
[\ d e f a u l
t p
l a c e m e n t]
que, depois de ignorar opções desconhecidas e duplicadas, era o mesmo que
[tp]
Aliás, você tem certeza de que deseja um padrão de htb
?
A proibição de p
(páginas flutuantes) aumenta enormemente a chance de que todas as páginas flutuantes vão para o final do documento.