如何使用任务或枚举来对齐和修改项目?

如何使用任务或枚举来对齐和修改项目?

抱歉,我的英语有误。我想使用任务或枚举(或两者)来对齐项目,以获得更好的体验。我已经使用第一个很长时间了,但不幸的是它不像任务那样水平对齐。我不知道如何在枚举之类的任务中创建新项目。

在此处输入图片描述

这是一个 MWE。

\documentclass[a4paper, 12pt]{report}
\usepackage{mathpazo, amsmath,amsfonts,amscd,bezier, amssymb, ifthen,amsthm}
\usepackage{babel}
\usepackage[latin1]{inputenc}
\usepackage{enumerate}
\usepackage[shortlabels]{enumitem}
\usepackage{multicol}
\usepackage{tasks}
\usepackage[margin=1.5cm ]{geometry}

\DeclareInstance{tasks}{alphabetize-parents}{default}{
        label-format=\itshape
}

\settasks{style=alphabetize-parents}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
        
\begin{document}
    
    \pagestyle{myheadings} \thispagestyle{empty}

\noindent Consider

\begin{multicols}{2}
    \begin{enumerate}[$(a)$, leftmargin=3.2em]
        \item $f(x) = \begin{cases}
            \dfrac{1}{x^2}, \mbox{if} \ x\neq 0 \\
            0, \mbox{if} \ x= 0.
        \end{cases}$
        \item $ f(x) = \sqrt[3]{x^2}$
    \end{enumerate}
\end{multicols}
\begin{tasks}(2)
    \task $f(x) = \begin{cases}
        \dfrac{1}{x^2}, \mbox{if} \ x\neq 0 \\
        0, \mbox{if} \ x= 0.
    \end{cases}$
    \task $ f(x) = \sqrt[3]{x^2}$
\end{tasks}

\end{document}          

答案1

高度鼓励阅读包装手册。

如果您希望在商品标签中使用直立括号和斜体字母,请尝试

\documentclass{article}
\usepackage{amsmath}
\usepackage{tasks}

\begin{document}
\begin{tasks}[label=\normalfont({\itshape\alph*}),ref=(\alph*),label-width=2em](2)
        \task \label{task1} $f(x) = \begin{cases}
        \dfrac{1}{x^2}, \mbox{if} \ x\neq 0 \\
        0, \mbox{if} \ x= 0.
    \end{cases}$
    \task $ f(x) = \sqrt[3]{x^2}$
\end{tasks}

\ref{task1}
\end{document}

我假设,如果您正在交叉引用并希望指向特定项目,您会希望项目标签与本地字体规范相匹配。(因此,如果运行的文本是斜体,它将以斜体显​​示标签。如果运行的文本是直立的,它将以直立显示标签。)如果您想要不同的外观,请将参数更改为键ref

添加label-width=2em是因为分配给标签的默认宽度太窄,不适合(a)。您可以根据需要进行调整。

答案2

这能满足您的目的吗?

图像

我特意将第二行改为,以确保宽度不等的表达式完美对齐f(x)f(x, y)

\documentclass[a4paper, fleqn, 12pt]{report}
\usepackage[margin=1.5cm]{geometry}
\usepackage{mathpazo, amsmath}

\begin{document}
    
\pagestyle{myheadings}
\thispagestyle{empty}

\noindent Consider
\begin{alignat*}{4}
 &(a)\;      &f(x) &= \begin{cases}
                        \dfrac{1}{x^2}, &\text{if } x \neq 0 \\
                        0,              &\text{if } x  =   0.
                      \end{cases} \qquad\qquad
   &&(b)\;   &f(x) &= \sqrt[3]{x^2}  \\[1em]
 &(a)\;   &f(x, y) &= \begin{cases}
                        \dfrac{1}{xy},  &\text{if } x,y \neq 0 \\
                        0,              &\text{if } x,y  =   0.
                      \end{cases} \qquad\qquad
   &&(b)\; &f(x,y) &= \sqrt[3]{xy}  
\end{alignat*}

\end{document}

另请注意:

  1. fleqn选项中的--documentclass使方程式左对齐。省略该选项会使方程式居中;
  2. 如何在文本中强制在后面留出间隙if,用\text{if }-- 尽管也可以用 来完成\text{if}\;(但我认为前者更具可读性);
  3. alignat您可以通过回答以下问题来了解有关环境的更多信息@Giovanni 的问题。双对齐&&和单&对齐字符有点棘手——但一旦掌握就会产生很好的效果。

此解决方案的缺点

您必须手动输入项目编号,而不是在环境中使用\items 内部生成它们。但我想enumerate,这也可以通过在某些 上定义合适的宏来完成!newcounter

相关内容