
Estou tentando criar uma bibliografia compactada de um único parágrafo usando biblatex
, como emesta resposta. Eu também gostaria de tornar a fonte um pouco menor que o tamanho da fonte principal do documento. Estou fazendo isso definindo \bibfont
; no entanto, isso produz algo que parece espaçamento duplo, mas eu quero apenas espaçamento simples. Eu pensei que
\renewcommand*{\bibfont}{\fontsize{5pt}{7pt}\selectfont}
cuidaria disso porque \fontsize
também deveria definir o \baselineskip
valor. Alguém sabe por que tenho um espaçamento entre linhas tão grande na bibliografia e como posso reduzir esse espaçamento para algo que se pareça com o espaçamento simples normal?
\begin{filecontents*}{\jobname.bib}
@article{a1,
author = {Smith, Jane},
journal = {Nature},
volume = {7},
pages = {201--204},
year = {1999},
}
@article{a2,
author = {Smith, Jane},
journal = {Nature},
volume = {7},
pages = {201--204},
year = {2000},
}
@article{a3,
author = {Smith, Jane},
journal = {Nature},
volume = {7},
pages = {201--204},
year = {2001},
}
@article{a4,
author = {Smith, Jane},
journal = {Nature},
volume = {7},
pages = {201--204},
year = {2002},
}
@article{a5,
author = {Smith, Jane},
journal = {Nature},
volume = {7},
pages = {201--204},
year = {2003},
}
\end{filecontents*}
\documentclass{article}
\usepackage[american]{babel}
\usepackage{csquotes}
\usepackage[backend=biber,
style=authoryear-comp,
maxcitenames=2,
maxnames=1,
minnames=1,
firstinits=true]{biblatex}
\addbibresource{\jobname.bib}
\renewcommand*{\bibfont}{\fontsize{5pt}{7pt}\selectfont}
\defbibenvironment{bibliography}
{}
{}
{\addspace}
\begin{document}
\nocite{*}
\printbibliography
\end{document}
Responder1
A questão é que, se o modo horizontal não for encerrado no ambiente bibliográfico, o valor de \baselineskip
reverte para o que está em outras partes do documento. Isto é discutido emesta respostaparaReduza o espaçamento entre linhas ao usar tamanho de fonte menor em um ambiente.
Você pode finalizar o parágrafo (ou seja, encerrar o modo horizontal e forçar a quebra do material em linhas) colocando \endgraf
na <end code>
parte do \defbibenvironment
comando:
\defbibenvironment{bibliography}
{}
{\endgraf}
{\addspace}
Você tem que usar \endgraf
aqui em vez de \par
, caso contrário você receberá um erro (vejaQuando é melhor usar \par do que \endgraf?para alguma discussão sobre as diferenças entre \par
e \endgraf
).
Aqui está o MWE completo:
\begin{filecontents*}{\jobname.bib}
@article{a1,
author = {Smith, Jane},
journal = {Nature},
volume = {7},
pages = {201-204},
year = {1999},
}
@article{a2,
author = {Smith, Jane},
journal = {Nature},
volume = {7},
pages = {201-204},
year = {2000},
}
@article{a3,
author = {Smith, Jane},
journal = {Nature},
volume = {7},
pages = {201-204},
year = {2001},
}
@article{a4,
author = {Smith, Jane},
journal = {Nature},
volume = {7},
pages = {201-204},
year = {2002},
}
@article{a5,
author = {Smith, Jane},
journal = {Nature},
volume = {7},
pages = {201-204},
year = {2003},
}
\end{filecontents*}
\documentclass{article}
\usepackage[american]{babel}
\usepackage{csquotes}
\usepackage[backend=biber,
style=authoryear-comp,
maxcitenames=2,
maxnames=1,
minnames=1,
firstinits=true]{biblatex}
\addbibresource{\jobname.bib}
\renewcommand*{\bibfont}{\fontsize{5pt}{7pt}\selectfont}
\defbibenvironment{bibliography}
{}
{\endgraf}
{\addspace}
\begin{document}
\nocite{*}
\printbibliography
\end{document}
E aqui está a saída resultante com algo que parece um espaçamento entre linhas simples: