quarto-journals / article-format-template

Template for creating a new journal article format for Quarto
MIT License
66 stars 16 forks source link

JuliaCon Proceedings template - how to suppress default pandoc options? #14

Closed pat-alt closed 11 months ago

pat-alt commented 11 months ago

Hi there,

thanks for this great template and the docs. I've been working on a template for JuliaCon Proceedings. The repo for the extension can be found here: https://github.com/pat-alt/quarto-juliacon-proceedings.

Most things are already working as expected, but I noted that the character spacing seems off: compare the Quarto version to the published version of a recent paper.

By sheer luck I noticed that if I comment out the \usepackage{lmodern} line in the raw TeX file, the discrepancy disappears. It seems the most straight-forward way to deal with this is to somehow suppress this default option in the _extension.yml. Is there a way to do this? Or should this be handled in some other way?

Thanks!

pat-alt commented 11 months ago

Update: I can set fontfamily: tgtermes to get the desired outcome, but would still be interested to know if there is a way to just suppress that line (\usepackage{lmodern}). Thanks!

cderv commented 11 months ago

lmodern is the default font used in the template, and only setting fontfamily will not use it https://github.com/quarto-dev/quarto-cli/blob/0a8a3c6bb5ec09809c9c67c77cdf2fbffd422bd6/src/resources/formats/pdf/pandoc/template.tex#L92-L96

$if(fontfamily)$
$else$
\usepackage{lmodern}
$endif$

when setting fontfamily, this is will activate this line

$if(fontfamily)$
\usepackage[$for(fontfamilyoptions)$$fontfamilyoptions$$sep$,$endfor$]{$fontfamily$}
$endif$

so you can't just set fontfamily to any value, it must be a package font.

Otherwise you need to tweak the template in your extension, but unfortunately those part are not inside a partials, so you need to provide a copy of the whole template and maintain it with quarto updates in that case. See https://quarto.org/docs/journals/templates.html

pat-alt commented 11 months ago

Ok, thanks @cderv very much for the quick response. Then it seems the below is the easiest approach and I'll stick with that for now:

Update: I can set fontfamily: tgtermes to get the desired outcome, but would still be interested to know if there is a way to just suppress that line (\usepackage{lmodern}). Thanks!