我正在编写一本高中数学教科书,在列表方面我遇到了问题。我想将一个条目分成 4 列。问题是,如果有分数之类的数学文本,我无法使条目垂直对齐(参见第二个条目)。
\documentclass[a4paper,12pt]{book}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{amssymb}
\usepackage{amsfonts}
\usepackage{multicol}
\newcommand{\parenthesis}[1]{\left( #1 \right)}
\begin{document}
\begin{multicols}{3}
\begin{itemize}
\item[(a)] $2x + 2y = 2(x + y)$
\item[(b)] $x + y = y + x$
\item[(c)] $x + y = 5$
\item[(d)] $x\parenthesis{x^3 + 1} = x^4 + x$
\item[(e)] $2x = -8$
\item[(f)] $3x^2y = -6x^2y$
\end{itemize}
\end{multicols}
\begin{multicols}{4}
\begin{itemize}
\item[(a)] $(x + 5)^2$
\item[(b)] $(y - 4)^2$
\item[(c)] $\parenthesis{3x + 2y^2}^2$
\item[(d)] $\parenthesis{5x^3 - \dfrac{1}{2} \cdot y^2}^2$
\end{itemize}
\end{multicols}
\end{document}
附言:抱歉我的英语不好。
答案1
两个软件包可以实现您想要的操作:shortlst
,由于版权原因,它仅在 CTAN 上存在,而不在 TeX Live 和 MiKTeX 中存在;以及tasks
,该软件包最初包含在 中exsheets
,但现在可以单独使用。
我对您的代码进行了一些改进:我\parens
使用 mathtools 中的命令定义了一个命令DeclarePairedDelimiter
。此命令正确管理成对分隔符周围的间距并定义两个命令:
\parens*
相当于\left … \right
在括号内添加一对(不推荐,因为间距通常不好);\parens
生成一对普通括号,但也接受可选参数以微调分隔符的大小:[\big]
、[\Big]
和,相当于括号周围的一对 bigr`[\bigg]
。[\Bigg]
\bigl …
此外,我还加载了nccmath
它的medium math
命令和环境(大小约为 的 80% displaystyle
),这有时可能很方便。我在这里将它用于中等大小的部分。
以下是演示:
\documentclass[a4paper,12pt]{book}
\usepackage[showframe]{geometry}
\usepackage{mathtools, nccmath}
\usepackage{amsthm}
\usepackage{amssymb}
\usepackage{multicol}
\DeclarePairedDelimiter{\parens}{(}{)}
\newcommand{\parenthesis}[1]{\left( #1 \right)}
\usepackage{tasks}
\begin{document}
\settasks{counter-format= (tsk[a]), label-offset=0.75em, after-skip=\smallskipamount}
\begin{tasks}(3)
\task $2x + 2y = 2(x + y)$
\task $x + y = y + x$
\task $x + y = 5$
\task $x\parenthesis{x^3 + 1} = x^4 + x$
\task $2x = -8$
\task $3x^2y = -6x^2y$
\end{tasks}
\begin{tasks}(4)
\task $(x + 5)^2$
\task $(y - 4)^2$
\task $\parens*{3x + 2y^2}^2$
\task $\parens[\Big]{5x^3 - \dfrac{1}{2} \cdot y^2}^2$
\task*(2) $\smash{\parens*{5x^3 - \dfrac{1}{2} \cdot y^2}^2}$
\task $\parens[\big]{5x^3 - \mfrac{1}{2} \cdot y^2}^2$
\end{tasks}
\end{document}