這是我在 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
.它在第 20 行中定義,並與其紅色一起作為 \newtheorem 命令的參數。 (字串末尾的空格字元不能是該參數的一部分,因為 Latex 會自動添加它。) - 序號= 緊接在類型之後出現的數字,並針對每個新定義自動增加。我設法得到了粗體數字(我想是因為它們是「定理頭」的一部分),但我沒能把它們變成紅色,我不知道該怎麼做。
- 標點= 字串
:
.它是\newtheoremstyle 指令的第7 個參數,從第 10 行開始。 - 標題= 在我的範例中與前面提到的元素位於同一行的字串。這是將要定義的事物的名稱。但顯然這個標題和我稱之為的下一個元素'身體'兩者都屬於所謂的“定理體”在手冊中。我可以透過更改\newtheoremstyle 指令的第四個參數來使標題和正文均為粗體或均為非粗體。但我想讓這部分變成粗體和紅色,下一個元素變成黑色和正常。
- 身體= 這是標題元素中命名的事物的定義。我希望它以與標題不同的格式顯示(黑色和正常)
我怎樣才能實現這些格式?
我還有兩個額外的願望,這兩個願望都不那麼重要(“很高興擁有”,但不是“必須”):
我想指定某種字體(如 Arial、Calibiri 或 Libertine),而不僅僅是字體系列(如 \sffamily)。我可以在哪裡找到描述這一點的簡短但很好的文檔?
我還希望定義標題中出現的 $\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}