Probleme beim Ändern der Schriftart von Abschnittsüberschriften in der LateX-Vorlage

Probleme beim Ändern der Schriftart von Abschnittsüberschriften in der LateX-Vorlage

Ich konvertiere Markdown-Dokumente über Pandoc in PDF und verwende dabei eine LaTeX-Vorlage namens Eisvogel. Pandoc verwendet, glaube ich, pdfTeX. (Ich bin ziemlich neu in all dem, also verzeihen Sie mir bitte im Voraus!)

Die Vorlage:https://github.com/Wandmalfarbe/pandoc-latex-template/blob/master/eisvogel.tex

Kurz gesagt: Meine Textschriftart muss „Lato“ sein und die Überschriften müssen „Lato Light“ sein.

Ich habe es geschafft, „Lato“ als Schriftart für den Text im Hauptteil meiner Dokumente festzulegen (auf ziemlich umständliche Weise), die Abschnittsüberschriften scheinen jedoch (glaube ich) von Beamer gesteuert zu werden. Seltsamerweise wird Lato für die Überschriftenlinks der 3. Ebene im Inhaltsverzeichnis verwendet, aber die Überschriften selbst sind in LM Sans 10, ebenso wie die anderen Überschriften im Inhaltsverzeichnis.

Ich habe zuvor versucht, „fontfamily: Lato“ im YAML-Header meiner Markdown-Dokumente zu verwenden, aber ich habe diesen Fehler erhalten:Fehler beim Erstellen des PDF. ! pdfTeX-Fehler (Schrifterweiterung): Automatische Erweiterung ist nur bei skalierbaren Schriftarten möglich.

Stattdessen habe ich die Textschriftart zum Laufen gebracht, indem ich die Standardschriftfamilie in Lato geändert habe:

\ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex
  $if(fontfamily)$
  $else$
  \usepackage[default]{Lato}
  \usepackage[T1]{fontenc}
  $endif$
\else % if not pdftex
  $if(mainfont)$
  $else$
  \usepackage[default]{Lato}
  \usepackage[T1]{fontenc}

Ich hatte gedacht, dass „if(fontfamily)“ einfach „Lato“ aus meinem YAML verwenden würde, aber das ist offensichtlich nicht der Fall – es funktioniert nur, wenn ich es als „else“ einsetze, und das liegt, wie ich jetzt glaube ich zu verstehen, daran, dass der Beamer-Teil den Fehler verursacht und nicht dieser Codeabschnitt.

Das Problem scheint also bei Beamer zu liegen. Der Rest von LaTeX/Pandoc hat kein Problem mit Lato, wenn es um normalen Text geht, aber ich denke, Beamer versucht, etwas mit Überschriften zu machen, was ihm nicht gefällt. Ich habe unten einfach versucht, \usepackage{lato} statt \usepackage{lmodern} einzufügen, aber ohne Erfolg.

$if(beamerarticle)$
\usepackage{beamerarticle} % needs to be loaded first
$endif$
$if(fontfamily)$
\usepackage[$for(fontfamilyoptions)$$fontfamilyoptions$$sep$,$endfor$]{$fontfamily$}
$else$
\usepackage{lmodern}
$endif$

Hier bin ich auf meiner Reise an eine Wand gestoßen. Ich weiß, dass Lato verwendet werden kann, weil es für normalen Text in meinem Dokument funktioniert, und ich habe auf meinen Reisen Beispiele von Leuten gesehen, die Lato als Überschriften für Folien und Dokumente verwenden. Daher verstehe ich nicht, warum Beamer lmodern verwenden muss und Lato wirklich nicht gerne verwendet.

Ich wäre für jeden Hinweis oder jede Erklärung, was ich falsch mache, sehr dankbar!

Antwort1

Es ist nicht nötig, die Vorlage zu ändern. Sie können die Lato-Schriftarten über verwenden lato.sty. Bei diesem Stil sollten Sie die Optionen defaultund angeben defaultsans, um Lato als Standardfamilie und standardmäßige serifenlose Schriftart zu verwenden. Dies können Sie mithilfe der YAML-Felder fontfamilyund tun fontfamilyoptions:

fontfamily: lato
fontfamilyoptions: 
- default
- defaultsans

Mit einemunverändert eisvogel.texVorlage zusammen mit diesem Beispieldokument

---
title: "Example PDF"
author: [Author]
date: "2019-06-16"
subject: "Markdown"
keywords: [Markdown, Example]
lang: "en"
fontfamily: lato
fontfamilyoptions: 
- default
- defaultsans
...

# Vinaque sanguine metuenti cuiquam Alcyone fixus

Lorem markdownum Letoia, et alios: figurae flectentem annis aliquid Peneosque ab
esse, obstat gravitate.

und verarbeitet mit

pandoc beamer.md -o beamer.pdf --from markdown --to beamer --template ./eisvogel.tex

erzeugt ein PDF, das nur Lato-Schriftarten verwendet:

$ pdffonts beamer.pdf 
name                                 type              encoding         emb sub uni object ID
------------------------------------ ----------------- ---------------- --- --- --- ---------
BBNBGL+Lato-Regular                  Type 1            Custom           yes yes no      18  0

verwandte Informationen