Это моя лучшая попытка добиться нужного мне формата в 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 добавляет его автоматически.) - Последовательность чисел= Число, которое появляется сразу после типа и автоматически увеличивается для каждого нового определения. Мне удалось выделить жирным шрифтом числа (я думаю, потому что они являются частью «головы теоремы»), но мне не удалось сделать их красными, и я понятия не имею, как это сделать.
- пунктуация= строка
:
. Это 7 -й аргумент команды \newtheoremstyle, которая начинается со строки 10. Еще раз: я могу сделать эту строку жирной, но не могу сделать ее красной. - заголовок= строка, которая в моих примерах стоит в той же строке, что и элементы, упомянутые ранее. Это имя вещи, которая будет определена. Но очевидно, что это название и следующий элемент, который я называю'тело'принадлежат как к тому, что называется«тело теоремы»в руководствах. Я могу сделать заголовок и текст жирными или нежирными, изменив 4- й аргумент команды \newtheoremstyle. Но я хочу, чтобы эта часть была жирной и красной, а следующий элемент — черным и обычным.
- тело= Это определение вещи, которая названа в элементе title. Я хочу, чтобы она отображалась в другом формате, чем заголовок (черный и нормальный)
Как мне достичь этих форматов?
У меня есть еще два желания, оба менее важные («приятно иметь», но не «обязательно»):
Я хочу указать определенный шрифт (например, Arial, Calibiri или Libertine), а не просто семейство шрифтов (например, \sffamily). Где я могу найти короткую, но хорошую документацию, описывающую это?
Я также хочу, чтобы $\mathbb{N}^+$ и другие математические выражения, которые появляются в названии определения, тоже были жирными. Я также не смог сделать это в MS-Word (ну, я мог отформатировать его жирным шрифтом в Word, но тогда жирным стал только нижний индекс 0 в N₀, но ни 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}