Tenho um amigo que escreve um documento bastante longo. Até agora ele tem cerca de 130 páginas (PDF). Ele usa TexWorks no Windows e seu documento às vezes leva de 2 a 3 minutos para ser compilado.
Não estou perguntando se esse tempo é normal para um arquivo tão longo. Eu sei que depende de muitas coisas e cada PC teria tempos diferentes dependendo da CPU etc.
Mas eu queria saber quais construções em um arquivo tex levariam muito tempo se houvesse muitas delas em um documento.
Por exemplo, eu poderia imaginar que incluir muitas imagens levaria muito tempo, já que todo arquivo externo deve ser carregado no documento (supondo que draft
não esteja habilitado).
Também em seu documento ele costuma usar mbox
para evitar a hifenização. Se fossem dados muitos deles, isso aumentaria o tempo que o documento leva para ser compilado?
Como último exemplo: ele não conhecia a opção openright
e por isso usou \newpage
em todos os lugares onde queria que um novo capítulo abrisse na página certa. Isso causa tempo extra de compilação?
Espero que minha pergunta seja clara o suficiente.
Editar: mais uma coisa que vi em seu documento. Como a primeira linha que vi \documentclass[all]{...}
. Eu não sabia que all
existia essa opção. Faz o que eu imagino? Ele realmente permite todas as opções possíveis? Mas isso não é contraditório? Por exemplo, para parskip
e halfparskip
? Isso prejudicaria o desempenho? Imagino que seja como em Java import *
.
Responder1
Entendo que a matemática pode demorar mais do que o texto simples, devido às muitas considerações adicionais envolvidas. Incluir imagens em formato (diferente de pdf ou mps) também aumentará o tempo de compilação, porque elas precisam ser processadas em vez de simplesmente inseridas no código.
Mas o TeX é um mecanismo de composição tipográfica e, embora seja Turing-completo, coisas que exigem muito processamento não serão particularmente eficientes quando pedirmos ao TeX para fazê-las. O exemplo que vem mais imediatamente à mente (devido ao seu lançamento recente) é o qrcode
pacote, que usa TeX para converter strings de texto em dados binários e, em seguida, cria códigos QR gráficos a partir deles. O TeX é capaz desse tipo de coisa, mas não foi projetado para isso; portanto, demora um pouco mais para processar um código QR do que um texto simples. (Não muito mais neste caso; qrcode
parece ser excelente. Mas ainda assim.)
Como também mencionado nos comentários, o desenho extenso no TeX também levará mais tempo. tikz
e amigos sofrem com isso; porém, novamente, a eficiência desses programas é notável, dado o quão longe eles estão levando o TeX além de seus limites originais. shapepar
, embora esteja usando o TeX para o propósito pretendido, força o TeX a compor parágrafos em formas estranhas e criativas e tem que executar testes repetidos para determinar a melhor forma de ajustar determinados textos nessas formas; como resultado, muitas vezes leva mais tempo para ser executado do que simplesmente levaria a composição de texto em parágrafos retangulares normais.
O resultado final é que o TeX foi projetado para quebrar linhas em parágrafos, parágrafos em páginas e fórmulas em unidades bem compostas; qualquer coisa diferente disso será mais lenta.