我有这个代码示例:
\documentclass[]{article}
\usepackage{amsmath}
\usepackage{amsthm}
\newtheorem{exmpl}{Example}
\begin{document}
\begin{exmpl}
\textbf{My first grammar}\\
$G = (\{a, b\}, \{A, B\}, S, P) \: where \: P:\\$
\begin{flalign*}
& A \rightarrow a&\\
& B \rightarrow b&
\end{flalign*}
\end{exmpl}
\end{document}
最终结果如下:
我想修改我的代码如下:
以“Example”开头的行和以“G =”开头的行之间应该有更多的垂直空间。
我希望以“G = ”开头的行与后面的 flalign 之间的间距更小。也许只是一个普通的换行符。
我想要稍微缩进 flalign 环境。
对此有什么提示吗?谢谢 :-)
答案1
一般来说,您应该避免使用\\
except 来结束表格或对齐结构的行,这也是where
一个单词,所以不应该使用数学字体。
也许
\documentclass[]{article}
\usepackage{amsmath}
\usepackage{amsthm}
\newtheorem{exmpl}{Example}
\begin{document}
\begin{exmpl}[My first grammar]
\[G = (\{a, b\}, \{A, B\}, S, P)\]
where $P$
\begin{flalign*}
& A \rightarrow a\\
& B \rightarrow b
\end{flalign*}
\end{exmpl}
\end{document}
使用定理的可选标题参数,默认情况下可能不是粗体,但可以更改格式,最好\textbf
直接使用
amsthm
允许您定义自定义样式,也许这更接近您的原始样式,没有()和粗体注释文本
\makeatletter
\newtheoremstyle{ex}% name
{3pt}% Space above
{3pt}% Space below
{}% Body font
{}% Indent amount 1
{\bfseries}% Theorem head font
{:}% Punctuation after theorem head
{.5em}% Space after theorem head 2
{\thmname{#1}\thmnumber{\@ifnotempty{#1}{ }\@upn{#2}}%
\thmnote{ \textbf{#3}}}% Theorem head spec (can be left empty, meaning `normal')
\makeatother
\theoremstyle{ex}
\newtheorem{exmpl}{Example}