当前位置: 首页 > article >正文

Latex 定理和证明类环境(amsthm)和(ntheorm)的区别

最近在写毕业论文,出现了一些定理和证明的环境的问题,问题出现在对两个包的理解程度不够的问题上:

\RequirePackage{ntheorem}   

1、\newtheorem*{proof}{\hspace{2em}证:} 这个是让证明失去计数原则,该命令不能用于 amsthm

2、该证明环境下,定理的字体和证明的字体一致。

3、关键:证明的环境中,所有的引用(\ref{})都会斜体出现。相对来说比较丑。可通过增加公式符号解决:$\ref{--}$ 。

4、证明结束不会有 证明结束的标志。

\RequirePackage{amsthm}          

参考1:Latex 定理和证明类环境的配置(amsthm) - 知乎 (zhihu.com)

参考2: LaTeX (7)——amsthm - 知乎 (zhihu.com): 

1、该包是自动添加 qed symbol。即证明自动结束的标志。

2、证明proof 环境不参与自动编号,与包ntheorem的区别。

参考: LaTeX系列笔记(10)-证明 - 知乎 (zhihu.com)

     可通下命令修改证明的两字的字体和证毕的标志。

\renewcommand{\proofname}{\indent\bf 证明:}   %修改证明字体

\renewcommand{\qedsymbol}{证毕} %设置QED为其它形式
\renewcommand{\qedsymbol}{$\blacksquare$}   % 证毕符号改成黑色的正方形

3、该包有个问题就是定理后面会附上一个点,比如 定理2.1. 

latex排版的一个问题,怎么去掉1后面的点? - 知乎 (zhihu.com)

\newtheoremstyle{mystyle}
{}
{}
{}
{} %定理缩进两格
{\bfseries}
{} %定理编号后无点
{.5em}
{}

使用自定义的环境要是先声明比如:

\theoremstyle{mystyle}
\newtheorem{definition}{\hspace{2em}定义}[chapter]
\newtheorem{proposition}{\hspace{2em}命题}[chapter]
\newtheorem{property}{\hspace{2em}性质}[chapter]
\newtheorem{lemma}{\hspace{2em}引理}[chapter]
\newtheorem{theorem}{\hspace{2em}定理}[chapter]
\newtheorem{corollary}{\hspace{2em}推论}[chapter]
\newtheorem{example}{\hspace{2em}例}
\newtheorem{remark}{\hspace{2em}注}
\renewcommand{\proofname}{\indent\bf 证明:}
\renewcommand{\qedsymbol}{$\blacksquare$}    % 证毕符号改成黑色的正方形

这里给出一个不推荐 ntheorem的理由:

转载:为什么推荐使用定理宏包thmtools? - 知乎 (zhihu.com)

  • ntheorem 的劣势:有一些长期存在而未修复的 bug,缺乏维护。相关讨论和问答(不全),见
    • Theorem packages: which to use, which conflict?
      这是 2010 年写的三个定理宏包的比较,其中提到的 ntheorem 的 bug,现在仍然存在
    • ntheorem with thmmarks and standard options fails when thebibliography is empty
      这是 2020 年 5 月的问答,涉及 ntheorem 的一个具体 bug。
      • 回答该问题的是 TeX-SX 上积分最高的用户、LaTeX3 团队(他们维护着 LaTeX2e)成员之一的 egreg,
      • 他在评论里回应为什么不推荐使用 ntheorem 时说,"unfortunately, ntheorem seems essentially unmaintaned and has severe problems."
  • amsmaththmtools 的优势:前者实现和功能都简单而稳定,后者提供了 key-value 接口,功能也更丰富。

http://www.kler.cn/news/17062.html

相关文章:

  • 每日一题142——最少操作使数组递增
  • 【Linux超强学习路线图】赶紧收藏学习!
  • 数据库管理-第七十二期 复盘(20230505)
  • 【TCP为什么需要粘包和拆包】
  • LeetCode_双指针_中等_24.两两交换链表中的节点
  • 使用dataFEED OPC Suite将西门子PLC数据转发至REST API
  • FL Studio21没有language选项?如何设置切换中文语言
  • 《论文阅读》开放域对话摘要(长文本|知识嵌入)
  • 《花雕学AI》31:ChatGPT--用关键词/咒语/提示词Prompt激发AI绘画的无限创意!
  • 题目:16版.饲养员喂养动物
  • Mesh形变算法
  • git reset和git revert的区别
  • JDBC详解(三):使用PreparedStatement实现CRUD操作(超详解)
  • java基础入门-02-【面向对象】
  • Android开发 我的开源Android Log “日志狗”LogDog
  • 《通过十几轮数据进行模型训练,实现精确的无创血糖测量的演绎学习》阅读笔记
  • CC2642 读取和设置FEATURES
  • path/to/sdkmanager --install “cmdline-tools;latest“
  • k8s搭建教程
  • 内网渗透(六十一)之Kerberosating攻击
  • MySQL知识学习02(MySQL索引详解)
  • 【软考高级】2022年系统分析师综合知识
  • [java]云HIS运维运营分系统功能实现(springboot框架)
  • 【Java笔试强训 4】
  • 08-Vue技术栈之过度与动画
  • 如何使用CSS和JS实现一个响应式的滚动时间轴
  • 你最关心的4个零代码问题,ChatGPT 帮你解答了!
  • Python基础合集 练习22 (错误与异常处理语句2)
  • 【Spring6】| Spring6整合JUnit
  • 【Git】‘git‘ 不是内部或外部命令,也不是可运行的程序