Scrbook: Usando cálculo de fallback para configurar tamanhos de fonte

Scrbook: Usando cálculo de fallback para configurar tamanhos de fonte

Ao usar a classe scrbooke personalizar o tamanho da fonte antes do uso, \printbibliographyrecebi estes avisos (e em documentos grandes, recebi-os várias vezes):

Classe scrbook Aviso: Usando cálculo de fallback para configurar tamanhos de fonte (scrbook) para tamanho básico `12pt' na linha de entrada 32.

MWE:

\documentclass{scrbook}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[backend = biber]{biblatex}
\renewcommand*{\bibfont}{\normalfont\changefontsizes{12pt}}

\usepackage{filecontents}    
\begin{filecontents}{\jobname.bib}
@online{GLS:datasheet,
    title = "GLS Datasheet",
    organization = "Optoelectronics Research Centre",
    howpublished = "Website",
    date = "2004-09",
    urldate = "2013-07-01",
    url = "http://www.southampton.XXXX",
    address = "Southampton, United Kingdom"
}
\end{filecontents}

\addbibresource{\jobname.bib}

\begin{document}
\KOMAoptions{fontsize=12pt}
\nocite{*}
\printbibliography
\end{document}

Devo esperar resultados inesperados? E se for esse o caso, o que posso fazer contra isso? Caso contrário, como eu poderia silenciar esses avisos?

Responder1

Esta mensagem informa que o KOMA-Script tem um problema com o tamanho da fonte fornecido (veja a resposta de @cgnieder para saber o mecanismo que o KOMA-Script usa).

Por que você não usa apenas \documentclass[fontsize=12pt]{scrbook}? Então você pode excluir \KOMAoptions{fontsize=12pt}e \renewcommand*{\bibfont}{\normalfont\changefontsizes{12pt}}.

Os comandos de baixo nível para alterar o tamanho da fonte são, por exemplo

\fontsize{12pt}{14.5pt}\selectfont

ou (dependendo da fonte e do tamanho da fonte padrão!) você pode usar \largepara tamanho de fonte de 12 ptse você tiver uma fonte padrão de 11 pt.

Você pode incluir página de título, índice e bibliografia, por exemplo

{\fontsize{12pt}{14.5pt}\selectfont ...} 

para alterar o tamanho da fonte padrão apenas para a peça ....

Mas isso é apenas um hack. Eu supervisionaria essa regra surpreendente e usaria 11 pt em todos os lugares...

Responder2

Aqui estão algumas informações básicas sobre fontsizea opção da KOMA.

As seguintes citações da seção 3.5 (Seleção do tamanho da fonte do documento) da documentação do KOMA-Scriptscrguien, ênfase minha:

fontsize=size

Em contraste com as classes padrão e a maioria das outras classes que fornecem apenas um número muito limitado de tamanhos de fonte, as classes KOMA-Script oferecem o recurso de seleção de qualquer sizefonte desejada para o documento principal. Neste contexto, qualquer unidade de medida TeX bem conhecida pode ser usada e usar um número sem unidade de medida significa pt.

Se você usar esta opção dentro do documento, o tamanho da fonte do documento principal e todos os tamanhos dependentes serão alterados a partir deste ponto. Isto pode ser útil, por exemplo, se mais uma letra precisar ser definida usando fontes menores no total.Deve-se observar que a alteração do tamanho da fonte principal não resulta em um recálculo automático da área de texto e das margens(ver \recalctypearea, seção 2.4, página 35).Por outro lado, cada recálculo da área de texto e das margens será feito com base no tamanho da fonte principal atual. Os efeitos da alteração do tamanho da fonte principal para outros pacotes carregados adicionalmente dependem desses pacotes. Isto pode até resultar em mensagens de erro ou erros de composição, o que não pode ser considerado uma falha do KOMA-Script.

O que não parece ser explicado emscrguienmas pode ser lido no livro KOMA-Script (disponível apenas em alemão,vendido pela mídia Lehmanns) é o que o KOMA-Script faz quando a fontsizeopção é chamada:

  1. Se você chamar fontsize=<xx>o KOMA-Script primeiro procura um arquivo scrsize<xx>.clo. Se existir, todas as configurações de tamanhos de fontes e listas serão definidas por meio deste arquivo. A propósito: o arquivo não contém informações sobre a typearea, que é controlada pelo typeareapacote.
  2. Se o arquivo não existir, o KOMA-Script procura um arquivo scrsize<xx>pt.clo. Isto permite ao usuário deixar a unidade de fora pt.
  3. Se nenhum arquivo adequado tiver sido encontrado, o KOMA-Script procura por arquivos adequados size<xx>.cloou bk<xx>.clo. Aqui <xx>está o tamanho ptsem unidade. Esses arquivos podem ser os das classes padrão ou doextsizespacote. Esta etapa é omitida quando o tamanho da fonte é definido após o carregamento da classe, pois esses arquivos só podem ser carregados quando a classe é carregada.
  4. Se nenhuma configuração adequada for encontrada, o KOMA-Script tem uma solução alternativa, o que significa que todos os tamanhos são calculados. Conforme declarado no livro KOMA-Script, esses cálculos não podem competir com configurações otimizadas manualmente [como aquelas nos cloarquivos], mas são semelhantes aos de um programa normal de processamento de texto:

    Estas funções podem ser naturalmente otimizadas manualmente. Sie entspricht mehr den Fähigkeiten einer normalen Textverarbeitung.

    Neste caso o KOMA-Script informa ao usuário que ele não possui as melhores configurações possíveis com o aviso que você descreveu.

Isso não é declarado explicitamente na documentação do KOMA, mas apenas implicitamente na única menção da macro: a \changefontsizesmacro é aquela chamada internamente pelo KOMA-Script quando a solução alternativa é usada. Isso significa que você nem deu ao KOMA-Script a chance de procurar soluções melhores! A maneira correta de chamar uma opção KOMA-Script é com \KOMAoption{<option>}{<value list>}ou \KOMAoptions{<key value list>}):

\KOMAoption{fontsize}{12pt}

Para o seu MWE, a melhor solução é definir o tamanho da fonte por meio da opção de classe, conforme já declarado na resposta aceita.


Quanto à sua segunda pergunta sobre silenciar avisos e coisas do gênero: dê uma olhada nosilencepacote.

informação relacionada