带有粗体和下划线标签的枚举描述

带有粗体和下划线标签的枚举描述

我想要一种带有编号项目的描述环境。

MagicEnv我需要一个像这样使用的环境:

We define and study a function `f`.
\begin{MagicEnv}
     \item[Definition of $f$] The function $f$ is defined as 
        \begin{equation}
               f(x)=x^2
        \end{equation}
   \item[$f(x)>0$]  Some proof and discussions.
  \item[$f$ is a bijection ] We prove that $f$ is a bijection
    \begin{MagicEnv}
       \item[$f$ is injective]   \label{my_label}
               Long proof here.
       \item[$f$ is surjective] 
            Proof here
    \end{MagicEnv}
\end{MagicEnv}
  • 中的文字[...]必须同时加粗和下划线。
  • 嵌套环境的编号必须记住外部编号。在这种情况下,我们有以下数字:
1 Definition of f
2 f>0
3 $f$ is a bijection
   3.1 injective
   3.2 surjective
  • 我希望能够引用。这里\ref{my_label}应该打印“3.1”。(如果可能的话,使用 hyperef)

有关的 :refstepcounter 内部描述项目 这里的区别在于我想要

  • 嵌套层数超过两层
  • 子子项必须编号,例如 1.1、1.2、2.1、2.2 等。

编辑:在问题中明确MagicEnv我正在寻找要生成的环境。同时将名称“magic_env”更改为“MagicEnv”。

答案1

enumitem正如@lukeflo 评论中所述,您可以在不定义任何新环境的情况下执行此操作,使用嵌套enumerate和修改,如手册§12.1 中\item所述\litem

分数维:

\documentclass
[a5paper] %<!--for demo
{article}
\usepackage[margin=25mm,verbose=false]{geometry} %<!--for demo
\usepackage{enumitem}                            %<!-- neded 
\usepackage[dvipsnames]{xcolor}
\usepackage[colorlinks]{hyperref}

\setlist[enumerate,1]{label=\arabic{enumi}}
\setlist[enumerate,2]{label=\arabic{enumi}.\arabic*}
\NewDocumentCommand{\litem}{o}{\item {\bfseries\boldmath #1\enspace}}

\begin{document}

We define and study a function $f$.
\begin{enumerate}
\litem[Definition of $f$] The function $f$ is defined as 
        \begin{equation}
               f(x)=x^2
        \end{equation}
   \litem[$f(x)>0$] Some proof and discussions.
   \litem[$f$ is a bijection] We prove that $f$ is a bijection
    \begin{enumerate}
       \litem[$f$ is injective]   \label{my_label}
               Long proof here.
       \litem[$f$ is surjective]
            Proof here
\end{enumerate}
\end{enumerate}

Here is a reference to the first subitem of third item : \ref{my_label}

\end{document}

在此处输入图片描述

编辑:更新代码和图片以消除虚假彗差。

编辑 2:我故意没有在粗体标签下划线,因为在我看来(以及这里的大多数人)这是一种错误的排版习惯。如果您真的想要它,请加载ulemsoul打包并\litem相应地编辑定义。

编辑 3:如果你真的想嵌套超过 2 个级别,请添加例如

\setlist[enumerate,3]{label=\arabic{enumi}.\arabic{enumii}.\alph{*}}

相关内容