`eulervm` と太字の定理

`eulervm` と太字の定理

私はconcrete-romanKnuthの具体的な数学メインフォントとして使用しています。ただし、数学フォントは付属していないので、eulervm代わりに含めています。

\usepackage{amsmath,amssymb,amsthm}
\usepackage{concrete}% the concrete-roman, used in concrete mathetics
\usepackage{eulervm}% the math fonts used in concrete mathematics

これは、定理を太字にしようとするまではうまくいきました。つまり、

定理4.1. 1+1 = 2

欲しい

定理4.1.1+1 = 2です。

このため、ヘッダーコピーに次のコマンドを追加しました。 amsthm で定理のオプションのタイトルを太字にするにはどうすればよいでしょうか?

\newtheoremstyle{mystyle}%                % Name
  {}%                                     % Space above
  {}%                                     % Space below
  {}%                                     % Body font
  {}%                                     % Indent amount
  {\bfseries}%                            % Theorem head font
  {.}%                                    % Punctuation after theorem head
  {.5em}%                                    % Space after theorem head, ' ', or \newline
  {\thmname{#1}\thmnumber{ #2}\thmnote{ (#3)}}%                                     % Theorem head spec (can be left empty, meaning `normal')
\theoremstyle{mystyle}
\numberwithin{equation}{subsection}
\newtheorem{theorem}[equation]{Theorem}

それは動作しません。

を削除するとeulervm、定理は太字になります。ただし、フォントはデフォルトのものに戻ります。

質問

concrete+eulervm太字の定理を使って、フォントの夢の世界に留まるにはどうすればいいでしょうか?


関連がある可能性あり

それは指摘されているeulervm の大胆な数学太字フォントをeulervm別々に処理します。ただし、太字の数式フォントのみを対象としています。


最小限の例

以下は でコンパイルされる最小限の例です。 を切り替えると、私の質問で説明されている効果を確認$ pdflatexできます。 が実際に機能していることに注意してください。無効にすると、本文のフォントが斜体 (デフォルト) に変更されます。eulervmmystyle\theoremstyle{mystyle}

\documentclass[15pt]{article}
\usepackage[margin=1in]{geometry}
\usepackage[utf8]{inputenc}
\usepackage{amsmath,amssymb,amsthm}
\usepackage{concrete}% the concrete-roman, used in concrete mathetics
\usepackage{eulervm}% the math fonts used in concrete mathematics

\newtheoremstyle{mystyle}%                % Name
  {}%                                     % Space above
  {}%                                     % Space below
  {}%                                     % Body font
  {}%                                     % Indent amount
  {\bfseries}%                            % Theorem head font
  {.}%                                    % Punctuation after theorem head
  {.5em}%                                    % Space after theorem head, ' ', or \newline
  {\thmname{#1}\thmnumber{ #2}\thmnote{ (#3)}}%                                     % Theorem head spec (can be left empty, meaning `normal')
\theoremstyle{mystyle}
\newtheorem{theorem}[equation]{Theorem}

\begin{document}
\begin{theorem}
  The sum of $1$ and $1$ is $2$.
\end{theorem}
\end{document}

答え1

フォント記述ファイルを少し調べたところ、太字の置換が機能しない理由がわかりました。Concrete には太字がなく、フォント パッケージはエンコード/bx/nでシリーズと形状の置換のみを宣言しています。デフォルトでは、をT1使用しようとしていました。/b/nOT1

したがって、コマンドを置き換えることができます

\usepackage{concrete}

\usepackage[T1]{fontenc}
\usepackage{ccfonts}
\renewcommand\bfdefault{bx}

unicode-mathただし、可能な場合はLuaLaTeXを使用し、必要な場合は従来の8ビットフォントを使用することをお勧めします。この答えより長い例をいくつか示します。

独自の定理スタイルを定義しているので、代わりにヘッダーに好みのフォントを選択することもできます。たとえば、次の例では、Latin Modern Sans-Serif Semi-bold Condensed です。

\documentclass[15pt]{article}
\usepackage[margin=1in]{geometry}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc} % The default since 2018
\usepackage{amsmath,amssymb,amsthm}
\usepackage{bm}
\usepackage{ccfonts}% the concrete-roman, used in concrete mathetics
\usepackage{eulervm,eucal,eufrak}% the math fonts used in concrete mathematics

\renewcommand\bfdefault{bx}

\newtheoremstyle{mystyle}%                % Name
  {}%                                     % Space above
  {}%                                     % Space below
  {}%                                     % Body font
  {}%                                     % Indent amount
  {\usefont{T1}{lmss}{sbc}{n}}%           % Theorem head font
  {.}%                                    % Punctuation after theorem head
  {.5em}%                                 % Space after theorem head, ' ', or \newline
  {\thmname{#1}\thmnumber{ #2}\thmnote{ (#3)}}%                                     % Theorem head spec (can be left empty, meaning `normal')
\theoremstyle{mystyle}
\newtheorem{theorem}[equation]{Theorem}

\begin{document}
\begin{theorem}
  The sum of $1$ and $1$ is $2$.
\end{theorem}
\end{document}

関連情報