![为什么我无法使用 newmdtheoremenv 和 mdfdefinestyle 在定理环境中获得非斜体、正常字体?](https://linux22.com/image/324904/%E4%B8%BA%E4%BB%80%E4%B9%88%E6%88%91%E6%97%A0%E6%B3%95%E4%BD%BF%E7%94%A8%20newmdtheoremenv%20%E5%92%8C%20mdfdefinestyle%20%E5%9C%A8%E5%AE%9A%E7%90%86%E7%8E%AF%E5%A2%83%E4%B8%AD%E8%8E%B7%E5%BE%97%E9%9D%9E%E6%96%9C%E4%BD%93%E3%80%81%E6%AD%A3%E5%B8%B8%E5%AD%97%E4%BD%93%EF%BC%9F.png)
即使我设置了,定理文本也会以斜体显示font=\normalfont\normalsize
。可能与此有关,葡萄牙语“-ção”在该文本中无法正确识别。
\documentclass[a4paper,10pt]{book}
\usepackage[brazilian]{babel}
\usepackage{mdframed}
\usepackage{amsmath}
\usepackage{xcolor}
\mdfdefinestyle{definitionSty}{font=\normalfont\normalsize, backgroundcolor=blue!10, linewidth=0pt, innerleftmargin=3ex, innerrightmargin=3ex, innertopmargin=3ex, innermargin =+1cm, outermargin =+1cm}
\newcounter{definitionCounter}[chapter]
\numberwithin{definitionCounter}{chapter}
\newmdtheoremenv[style=definitionSty]{definition}[definitionCounter]{Defini\c{c}\~{a}o}
\begin{document}
\begin{definition}{Medição, grandeza e medida}
\begin{itemize}
\item medição: \textit{processo} pelo qual se mede algo
\item grandeza: \textit{propriedade} quantificada por medição
\item medida: \textit{resultado} do processo de medição
\end{itemize}
\end{definition}
\end{document}
答案1
关于此内容的文档不太透明,但包含一个示例用法,从
\theoremstyle{<some style>}
\newmdtheoremenv[linecolor=blue]{lemma}{Lemma}[section]
这里的关键是\theoremstyle
命令,它不是mdframed
基于的,而是指amsthm
样式命令。因此,您需要加载amsthm
,并且必须在加载之前完成mdframed
。
\documentclass[a4paper,10pt]{book}
\usepackage[brazilian]{babel}
\usepackage{amsthm}
\usepackage{mdframed}
\usepackage{amsmath}
\usepackage{xcolor}
\mdfdefinestyle{definitionSty}{backgroundcolor=blue!10, linewidth=0pt, innerleftmargin=3ex, innerrightmargin=3ex, innertopmargin=3ex, innermargin =+1cm, outermargin =+1cm}
\newcounter{definitionCounter}[chapter]
\numberwithin{definitionCounter}{chapter}
\theoremstyle{definition}
\newmdtheoremenv[style=definitionSty]{definition}[definitionCounter]{Defini\c{c}\~{a}o}
\begin{document}
\begin{definition}Medição, grandeza e medida
\begin{itemize}
\item medição: \textit{processo} pelo qual se mede algo
\item grandeza: \textit{propriedade} quantificada por medição
\item medida: \textit{resultado} do processo de medição
\end{itemize}
\end{definition}
\begin{definition}[Medição, grandeza e medida]\leavevmode
\begin{itemize}
\item medição: \textit{processo} pelo qual se mede algo
\item grandeza: \textit{propriedade} quantificada por medição
\item medida: \textit{resultado} do processo de medição
\end{itemize}
\end{definition}
\end{document}
请注意,我不太确定我应该如何在定义环境中解释您的参数。要么像第一个版本一样直接打印,要么将其放在方括号中,然后由于 ,\leavevmode
需要进行额外的调整itemize
。
除了加载之外,amsthm
您还可以加载ntheorem
,可以使用amsthm
选项并继续使用\theoremstyle
,也可以使用其自己的样式命令。您还可以使用thmtools
这些包的接口。
答案2
您的日志将显示
Missing character: There is no ç (U+00E7) in font cmti10!
Missing character: There is no ã (U+00E3) in font cmti10!
Missing character: There is no ç (U+00E7) in font cmti10!
Missing character: There is no ã (U+00E3) in font cmti10!
Missing character: There is no ç (U+00E7) in font cmti10!
如果你添加
\usepackage{fontspec}
然后它将使用拉丁现代 opentype 字体并且非 ascii 字符将按预期工作。