我想创建一个练习环境,为其指定两个可选参数,一个出现在“练习”提及之前,另一个出现在定理编号后的括号中。
我正在使用这个amsthm
包。
使用基本定理风格,例如
\newtheoremstyle{mystyle}{}{}{}{}{\sffamily\bfseries}{.}{ }{}
\theoremstyle{mystyle}{
\newtheorem{exo}{\bfseries Exercice}}
下面的代码
\begin{exo}[Nom de l'exo]
Montrer par récurrence sur $n$ que
\end{exo}
给出了这个输出:
在另一门课程中,我使用了不同的环境来帮助我添加一些内容前“练习”:
\newtheoremstyle{exerci}{}{}{}{}{\bfseries}{.}{.5em}{\thmnote{#3}~\thmname{#1}~\thmnumber{#2}}
\theoremstyle{exerci}
\newtheorem{exo}[]{Exercice}
所以
\begin{exo}[\faBatteryThreeQuarters]
Montrer par récurrence sur $n$ que
\end{exo}
给出以下输出:
现在我不知道如何允许两个都可选参数出现。有人知道如何实现吗?
提前致谢!
答案1
这里您可以输入电池名称(bata
)batd
或不输入任何名称,也可以输入练习名称。
\documentclass[12pt]{article}
\usepackage{amsmath}
\usepackage{ifthen}
\usepackage{fontawesome}
\newcounter{exer}
\newenvironment{exercice}[2]
{
\addtocounter{exer}{1}
\par\medskip\noindent{\textbf{\ifthenelse{\equal{#1}{}}{\hphantom{\bata}}{#1} Exercice {\theexer}\ifthenelse{\equal{#2}{}}{.}{ #2.}}}}
{\par \medskip}
\begin{document}
\newcommand{\bata}{\faBatteryQuarter}
\newcommand{\batb}{\faBatteryHalf}
\newcommand{\batc}{\faBatteryThreeQuarters}
\newcommand{\batd}{\faBatteryFull}
\exercice{\bata}{(Dérivation)}
Montrer que la dérivée de la fonction $x \mapsto x^2$ est la fonction $x\mapsto 2x$.
\exercice{\batb}{(Énoncé)}
Faire ce que vous voulez pendant une demi-heure.
\exercice{\batc}{}
Ici, pas de nom d'exercice.
\exercice{\batd}{(Comme avant)}
\exercice{}{}
Ici, carrément ni batterie, ni nom.
\end{document}