格式化定理

格式化定理

這是我在 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 個部分:

  1. 類型= 字串Definition.它在第 20 行中定義,並與其紅色一起作為 \newtheorem 命令的參數。 (字串末尾的空格字元不能是該參數的一部分,因為 Latex 會自動添加它。)
  2. 序號= 緊接在類型之後出現的數字,並針對每個新定義自動增加。我設法得到了粗體數字(我想是因為它們是「定理頭」的一部分),但我沒能把它們變成紅色,我不知道該怎麼做。
  3. 標點= 字串:.它是\newtheoremstyle 指令的7 個參數,從第 10 行開始。
  4. 標題= 在我的範例中與前面提到的元素位於同一行的字串。這是將要定義的事物的名稱。但顯然這個標題和我稱之為的下一個元素'身體'兩者都屬於所謂的“定理體”在手冊中。我可以透過更改\newtheoremstyle 指令的第四個參數使標題和正文均為粗體或均為非粗體。但我想讓這部分變成粗體和紅色,下一個元素變成黑色和正常。
  5. 身體= 這是標題元素中命名的事物的定義。我希望它以與標題不同的格式顯示(黑色和正常)

我怎樣才能實現這些格式?


我還有兩個額外的願望,這兩個願望都不那麼重要(“很高興擁有”,但不是“必須”):

  1. 我想指定某種字體(如 Arial、Calibiri 或 Libertine),而不僅僅是字體系列(如 \sffamily)。我可以在哪裡找到描述這一點的簡短但很好的文檔?

  2. 我還希望定義標題中出現的 $\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

我認為您不想在定義語句中使用“任何”字體。如果您想使用無襯線字體,沒問題,但文件中應該有一個無襯線字體,否則它會顯示為拼湊而成。

這裡我定義了一種不同的無襯線字體,即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}

在此輸入影像描述

相關內容