LateX テンプレートのセクション ヘッダーのフォントを変更する際の問題

LateX テンプレートのセクション ヘッダーのフォントを変更する際の問題

私は、Eisvogel という LaTeX テンプレートを使用して、Pandoc 経由で Markdown ドキュメントを PDF に変換しています。Pandoc は pdfTeX を使用していると思います。(私はこの分野にあまり詳しくないので、あらかじめご容赦ください。)

テンプレート:https://github.com/Wandmalfarbe/pandoc-latex-template/blob/master/eisvogel.tex

簡単に言うと、テキストのフォントを「Lato」にし、見出しを「Lato Light」にする必要があります。

私は、文書の本文のテキストのフォントとして「Lato」を設定することに成功しました (かなり回りくどい方法で)。しかし、セクションの見出しは Beamer によって制御されているようです (そう思います)。奇妙なことに、目次の 3 番目のレベルの見出しリンクには Lato が使用されていますが、見出し自体は、目次の他の見出しと同様に LM Sans 10 です。

以前、マークダウン ドキュメントの YAML ヘッダーで「fontfamily: Lato」を使用しようとしましたが、次のエラーが発生しました。PDF 生成中にエラーが発生しました。! pdfTeX エラー (フォント拡張): 自動拡張はスケーラブル フォントでのみ可能です。

代わりに、デフォルトのフォント ファミリを Lato に変更することで、テキスト フォントが機能するようになりました。

\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}

私は、「if(fontfamily)」が YAML の「Lato」を使用するだけだと思っていましたが、明らかにそうではありませんでした。これを「else」として配置することによってのみ機能します。これは、このコード セクションではなく、Beamer 部分がエラーをスローしているためだと、今は理解していると思います。

つまり、問題は Beamer にあるようです。LaTeX/Pandoc の残りの部分では、通常のテキストの場合は Lato で問題はありませんが、Beamer は、好ましくない見出しに対して何かしようとしているに違いないと思います。以下で、\usepackage{lmodern} の代わりに \usepackage{lato} を単純に入力してみましたが、効果はありませんでした。

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

ここで、私の旅は壁にぶつかりました。Lato はドキュメント内の通常のテキストには使用できるので使用できることはわかっていますし、旅の途中でスライドやドキュメントのヘッダーとして Lato を使用している例も見てきました。そのため、Beamer が lmodern を使用する必要がある理由が理解できず、Lato の使用をあまり好んでいません。

どこが間違っているのか、ご指導やご説明をいただければ幸いです。

答え1

テンプレートを変更する必要はありません。 経由で Lato フォントを使用できますlato.sty。このスタイルでは、Lato をデフォルトのファミリとデフォルトのサンセリフ フォントとして使用するオプションdefaultdefaultsansを指定する必要があります。これは、YAML フィールドfontfamilyとを使用して実行できますfontfamilyoptions

fontfamily: lato
fontfamilyoptions: 
- default
- defaultsans

使用して修正なし eisvogel.texこのサンプルドキュメントとテンプレートを一緒に

---
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.

そして加工して

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

Lato フォントのみを使用する PDF を生成します。

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

関連情報