Sobre o posicionamento de figuras e tabelas no documento
Uma das queixas que escuto com mais frequência dos utilizadores de LaTeX é “As figuras (e as tabelas)! O LaTeX não as coloca onde eu as quero!”. Sim… é um pouco como se o LaTeX tivesse vontade própria e, para nosso infortúnio, a dele não está em consonância com a nossa. ;)
A verdade é que todos nós podemos pegar em meia dúzia (ou uma dúzia) de produtos alimentares, mandá-los para dentro de um tacho e preparar uma refeição. Vai-nos matar a fome… mas daí a ser agradável vai uma grande diferença.
Passa-se o mesmo com a composição de texto… podemos sempre pegar nuns quanto parágrafos, combiná-los com umas imagens, e dizer que temos um texto. A mensagem está lá… mas daí a ser agradável de ler vai também uma grande diferença.
Tal como para preparar comida saborosa é preciso saber regras e procedimentos tanto para uma boa confecção como para uma boa apresentação, também para preparar textos agradáveis de ler é preciso saber não só como escrever bem mas também como apresentar devidamente o nosso texto. E quase todos nós sabemos muito mais de culinária (mesmo aqueles de nós que sabem muito pouco) do que de tipografia.
Mas em consolação, o LaTeX não sabe nada de culinária mas sabe tudo sobre tipografia! E o LaTeX usa uma ponderação de mais de 20 (sim… vinte) regras para decidir onde colocar as figuras e tabelas. Por isso, faça um favor a si próprio(a) e deixe de brigar com o LaTeX sobre a localização das figuras e tabelas. Seja delicado(a), faça um bom uso das sugestões de posicionamento (o argumento opcional dos ambientes figure e table) e deixe o LaTeX tratar da apresentação do seu delicioso prato… perdão, da sua dissertação.
Vamos lá então ver como indicar ao LaTeX a nossa preferência de posicionamento de uma figura ou tabela. Vou exemplificar com uma figura, mas o processo é em tudo idêntico para uma tabela:
\begin{figure}[htbp]
\centering
\includegraphics[…]{…}
\caption{…}
\label{fig:blah}
\end{figure}
O argumento opcional em causa é o [htbp], apresentado a vermelho em cima. O significado é o seguinte:
h — here
t — top
b — bottom
p — page
Note que o argumento indica uma preferência e não uma obrigatoriedade. O LaTeX tentará respeitar a nossa preferência se conseguir, mas há imensas razões para o LaTeX não o conseguir fazer. Por exemplo: Os parágrafos estão perto da base da página e a figura não pode ficar entre eles pois ficava parcialmente fora da página; A página já tem uma mancha razoável ocupada com figuras e não é recomendável colocar mais figuras nesta página; etc. Se for inflexível nas especificação do posicionamento e colocar apenas [h] em todas as figuras e tabelas, o LaTeX acabará por não poder respeitar o que tenta exigir e como não saberá quais as suas outras preferências, irá provavelmente adivinhar mal.
Sugestão: Quanto mais flexível for no posicionamento das figuras (i.e., indique sempre pelo menos duas ou três opções por ordem de preferência), melhor trabalho o LaTeX consegue fazer e mais satisfeito(a) ficará no final.
A verdade é que todos nós podemos pegar em meia dúzia (ou uma dúzia) de produtos alimentares, mandá-los para dentro de um tacho e preparar uma refeição. Vai-nos matar a fome… mas daí a ser agradável vai uma grande diferença.
Passa-se o mesmo com a composição de texto… podemos sempre pegar nuns quanto parágrafos, combiná-los com umas imagens, e dizer que temos um texto. A mensagem está lá… mas daí a ser agradável de ler vai também uma grande diferença.
Tal como para preparar comida saborosa é preciso saber regras e procedimentos tanto para uma boa confecção como para uma boa apresentação, também para preparar textos agradáveis de ler é preciso saber não só como escrever bem mas também como apresentar devidamente o nosso texto. E quase todos nós sabemos muito mais de culinária (mesmo aqueles de nós que sabem muito pouco) do que de tipografia.
Mas em consolação, o LaTeX não sabe nada de culinária mas sabe tudo sobre tipografia! E o LaTeX usa uma ponderação de mais de 20 (sim… vinte) regras para decidir onde colocar as figuras e tabelas. Por isso, faça um favor a si próprio(a) e deixe de brigar com o LaTeX sobre a localização das figuras e tabelas. Seja delicado(a), faça um bom uso das sugestões de posicionamento (o argumento opcional dos ambientes figure e table) e deixe o LaTeX tratar da apresentação do seu delicioso prato… perdão, da sua dissertação.
Vamos lá então ver como indicar ao LaTeX a nossa preferência de posicionamento de uma figura ou tabela. Vou exemplificar com uma figura, mas o processo é em tudo idêntico para uma tabela:
\begin{figure}[htbp]
\centering
\includegraphics[…]{…}
\caption{…}
\label{fig:blah}
\end{figure}
O argumento opcional em causa é o [htbp], apresentado a vermelho em cima. O significado é o seguinte:
h — here
t — top
b — bottom
p — page
Note que o argumento indica uma preferência e não uma obrigatoriedade. O LaTeX tentará respeitar a nossa preferência se conseguir, mas há imensas razões para o LaTeX não o conseguir fazer. Por exemplo: Os parágrafos estão perto da base da página e a figura não pode ficar entre eles pois ficava parcialmente fora da página; A página já tem uma mancha razoável ocupada com figuras e não é recomendável colocar mais figuras nesta página; etc. Se for inflexível nas especificação do posicionamento e colocar apenas [h] em todas as figuras e tabelas, o LaTeX acabará por não poder respeitar o que tenta exigir e como não saberá quais as suas outras preferências, irá provavelmente adivinhar mal.
Sugestão: Quanto mais flexível for no posicionamento das figuras (i.e., indique sempre pelo menos duas ou três opções por ordem de preferência), melhor trabalho o LaTeX consegue fazer e mais satisfeito(a) ficará no final.
Gostava de partilhar a minha experiência com Latex e o template FCT-UNL.
ResponderEliminarApós muitos anos de utilização de sucessivas versões do Microsoft Office, quando iniciei a escrita da tese de doutoramento em finais de 2015, nem sequer coloquei a hipótese de utilizar outro editor que não fosse o WORD. No entanto há medida que o numero de páginas, figuras, tabelas, listagem de código, itemização, numeração etc. etc. as dores de cabeça foram surgindo e aquilo que parece uma vantagem “what you see is what you get” acaba por ser “what you see is what word invent”, isto é as regras do word têm comportamentos não deterministas.
Assim em desespero decidi tentar o Latex. Após algumas horas de estudo e muitas horas de Copy/Past consegui capítulo a capítulo passar tudo para ficheiros latex.
Nem tudo é simples em latex, pois existe uma confusão tremenda entre dependências de packages e as maiores dificuldades foram relacionadas com tabelas (algumas complexas). Outra confusão inerente à procura no Google é os milhares de posts com código errado, ou dependente de packages que não fazem parte do MikteX.
Tal como o João Lourenço explica o posicionamento de floats (figuras, tabelas e listings) também não é pacifico pois nem sempre a inteligência do Latex está correta, nomeadamente quando quer colocar uma figura já depois do inicio de nova secção ou bastante antes de a mesma ser referida no texto.
Claro que beneficiei muito mas mesmo muito do template FCT-UNL, pois quando ia tentar perceber o código do template ou mesmo algumas alterações que fiz no template para ter listagens XSD e XML em cores, fez-me lembrar os anos 80 quando eu programava em linguagem Assembly.
Mas em conclusão e como conselho para quem quiser iniciar a escrita de uma tese ou documento similar com alguma complexidade, não hesitem como eu, pois Latex é a solução.
E depois ao imprimir um documento Latex os nossos olhos percebem a diferença e apetece perguntar como é possível a Microsoft já ter faturado muitos milhões, mesmo muitos milhões em versões Office para não falar na publicidade e não conseguir ter um processador de documentos com a qualidade do Latex.