これは、LaTeX で必要な形式を実現するための最善の試みです。
\documentclass{article}
\usepackage[a4paper, total={160mm, 247mm}]{geometry}
\usepackage{color}
\definecolor{medred}{rgb}{0.75, 0, 0} % medium red
\usepackage{amsfonts, amsmath, amsthm}
\newtheoremstyle{definition}
{12pt} % Space above
{12pt} % Space below
{\sffamily} % Body font
{0pt} % Indent amount
{\sffamily\bfseries} % Theorem head font
{: } % Punctuation after theorem head
{0pt} % Space after theorem head
{} % Theorem head spec (can be left empty, meaning ‘normal’
\theoremstyle{definition}
\newtheorem{definition}{\textcolor{medred}{Definition}}
\begin{document}
\begin{definition}{$\mathbb{N}^+$}\\
$\mathbb{N}^+$ is the set of all positive natural numbers:
\begin{equation*}
\mathbb{N}^+:=\{1, 2, 3, \ldots\}
\end{equation*}
\end{definition}
\begin{definition}{$\mathbb{N}_0$}\\
$\mathbb{N}_0$ is the set of natural numbers including $0$:
\begin{equation*}
\mathbb{N}_0:=\{0, 1, 2, 3, \ldots\}
\end{equation*}
\end{definition}
\begin{definition}{Collatz sequence}\\
A \textit{Collatz sequence} is a mapping of all numbers from the set $\mathbb{N}_0$, called indices, to numbers from the set $\mathbb{N}^+$, called sequence members …
\end{definition}
\end{document}
しかし、これが私が本当に望んでいるものです。(これは Microsoft Word で作成されました。残念ながら、定義の番号付けを手動で行う必要がありますが、自動番号付けが必要なので、LaTeX で文書を作成することを好みます。)
私の知る限り、定義には 5 つの部分があります。
- タイプ= 文字列
Definition
。これは、\newtheorem コマンドの引数として、赤色とともに 20 行目に定義されています。(文字列の末尾のスペース文字は、LaTeX によって自動的に追加されるため、引数の一部にすることはできません。) - シーケンス番号= 型の直後に表示され、新しい定義ごとに自動的に増加する番号。太字の番号を取得することはできましたが (「定理のヘッド」の一部であるためだと思います)、赤にすることはできず、その方法がわかりません。
- 句読点= 文字列
:
。これは、10 行目から始まる \newtheoremstyle コマンドの 7番目の引数です。繰り返しますが、この文字列を太字にすることはできますが、赤くすることはできません。 - タイトル= 私の例では、前述の要素と同じ行に並んでいる文字列です。これは定義されるものの名前です。しかし、明らかにこのタイトルと私が呼ぶ次の要素は'体'いわゆる「定理本体」マニュアルでは、\newtheoremstyle コマンドの 4番目の引数を変更することで、タイトルと本文の両方を太字にしたり、両方とも太字以外にしたりできます。ただし、この部分を太字で赤にし、次の要素を黒で通常にしたいのです。
- 体= これは、タイトル要素で名前が付けられているものの定義です。タイトルとは異なる形式(黒と通常)で表示したいです
これらのフォーマットを実現するにはどうすればよいですか?
私にはさらに 2 つの願いがありますが、どちらもそれほど重要ではありません (「あればよい」ですが、「必須」ではありません)。
フォント ファミリ (\sffamily など) だけでなく、特定のフォント (Arial、Calibiri、Libertine など) を指定したいのですが、これについて説明している簡潔でわかりやすいドキュメントはどこにありますか?
また、定義のタイトルに表示される $\mathbb{N}^+$ やその他の数式も太字にしたいです。 MS-Word でもこれを行うことができませんでした (Word で太字にフォーマットすることはできましたが、N₀ の下付き文字 0 だけが太字になり、N も + も見た目が変わりませんでした)。そのため、太字記号を提供しない数式フォントの問題だと思います。この問題を解決する回避策はありますか?
答え1
@John Kormylo が言ったように、一部のフォントには太字バージョンがありません。
\documentclass{article}
\usepackage{fontspec}
\usepackage{xcolor}
\definecolor{medred}{rgb}{0.75,0,0}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage[bb=boondox]{mathalpha}
\newtheoremstyle{definition}
{12pt}
{12pt}
{\fontspec{Arial}}
{0pt}
{\fontspec{Arial}\bfseries\boldmath\color{medred}}
{\newline}
{0pt}
{\thmname{#1}\space\thmnumber{#2}:\space\thmnote{#3}}
\theoremstyle{definition}
\newtheorem{definition}{Definition}
\begin{document}
\begin{definition}[$\mathbb{N}^+$]
$\mathbb{N}^+$ is the set of all positive natural numbers:
\begin{equation*}
\mathbb{N}^+:=\{1, 2, 3, \ldots\}
\end{equation*}
\end{definition}
\begin{definition}[$\mathbb{N}_0$]
$\mathbb{N}_0$ is the set of natural numbers including $0$:
\begin{equation*}
\mathbb{N}_0:=\{0, 1, 2, 3, \ldots\}
\end{equation*}
\end{definition}
\begin{definition}[Collatz sequence]
A \textit{Collatz sequence} is a mapping of all numbers from the set $\mathbb{N}_0$, called indices, to numbers from the set $\mathbb{N}^+$, called sequence members …
\end{definition}
\end{document}
答え2
定義文では「何でもいい」フォントは使いたくないと思います。サンセリフ体を使いたいなら構いませんが、文書にはサンセリフ体フォントが 1 つだけある必要があります。そうでないと、パッチワークのように見えてしまいます。
ここでは、別のサンセリフ フォント、つまり Source Sans Pro を定義します。fontspec
この選択にもっと自由度を持たせたい場合は、XeLaTeX または LuaLaTeX で を使用します\setsansfont
。
番号が付いていない定義やタイトルがない定義の例を追加しました。これらの定義ではコロンを省略したほうがよいと思われます。
\documentclass{article}
\usepackage[a4paper, total={160mm, 247mm}]{geometry}
\usepackage{xcolor}
\usepackage{amsfonts, amsmath, amsthm}
\usepackage[default]{sourcesanspro}
\definecolor{medred}{rgb}{0.75, 0, 0} % medium red
\newtheoremstyle{mydef}
{12pt} % Space above
{12pt} % Space below
{\sffamily} % Body font
{0pt} % Indent amount
{\color{medred}\sffamily\bfseries} % Theorem head font
{} % Punctuation after theorem head (the spec below take care)
{\newline} % Space after theorem head
{\thmname{#1}\thmnumber{ #2}\thmnote{: #3}}
\theoremstyle{mydef}
\newtheorem{definition}{Definition}
\newtheorem*{definition*}{Definition}% just to test
\begin{document}
\begin{definition}[$\mathbb{N}^+$]
$\mathbb{N}^+$ is the set of all positive natural numbers:
\begin{equation*}
\mathbb{N}^+:=\{1, 2, 3, \dotsc\}
\end{equation*}
\end{definition}
\begin{definition}[$\mathbb{N}_0$]
$\mathbb{N}_0$ is the set of natural numbers including $0$:
\begin{equation*}
\mathbb{N}_0:=\{0, 1, 2, 3, \dotsc\}
\end{equation*}
\end{definition}
\begin{definition*}[Collatz sequence]
A \textit{Collatz sequence} is a mapping of all numbers from
the set $\mathbb{N}_0$, called indices, to numbers from the set
$\mathbb{N}^+$, called sequence members …
\end{definition*}
\begin{definition}
This definition has no title
\end{definition}
\begin{definition*}
This definition has no title and no number
\end{definition*}
\end{document}