我正在尝试重新定义证明环境,因为我希望“证明”一词为粗体,而不是斜体。通常,你会得到这样的结果 证明完成后,有一个漂亮的换行符。我尝试用
\renewenvironment{proof}{{\noindent \bfseries Demonstração.}}{\qed \linebreak}
但换行符要么不执行任何操作,要么使格式变得奇怪,如下所示:
证明完成后,文本中没有换行符,出于某种原因,文本上有一个类似 \noindent 的东西。此外,QED 框消失了,所以我必须也输入 \qed 命令。我该如何解决这个问题?我也尝试过其他解决方案来使“证明”加粗,但结果更糟或根本不起作用。仅供参考,Teorema = Theorem 和 Demonstração = Proof。提前致谢!
答案1
我能想到两种可以让你实现格式化目标的方法。
你可以跑
\AtBeginDocument{\renewcommand\proofname{\textbf{\upshape Demonstração}}}
在序言中,后正在加载
babel
和amsthm
包。\upshape
与 相对\itshape
(\slshape
我想也是 ),因为它指示 LaTeX 使用直立字母而不是倾斜字母。\AtBeginDocument
包装器指示 LaTeX 推迟执行命令的参数,直到document
环境启动。包装器是必需的babel
,因为 也将其某些操作(包括选择英语单词“Proof”的葡萄牙语对应词)推迟到环境document
启动。或者,您可以找到文件
amsthm.sty
,在文本编辑器中打开它,找到其环境定义proof
,将代码复制到文档的前言中(amsthm
最好在加载包后立即复制),然后替换\itshape
为\bfseries
。(请执行不是直接修改文件amsthm.sty
。\makeatletter \renewenvironment{proof}[1][\proofname]{\par \pushQED{\qed}% \normalfont \topsep6\p@\@plus6\p@\relax \trivlist \item[\hskip\labelsep \bfseries % was: \itshape #1\@addpunct{.}]\ignorespaces }{% \popQED\endtrivlist\@endpefalse } \makeatother
通过这种方法,你不需要
\AtBeginEnvironment
指令,也无需修改\proofname
。如果您决定用西班牙语(或英语!)而不是葡萄牙语编写文档,这可能会派上用场。:-)