witharrows提供了一种数学环境,该数学环境与amsmath(和mathtools)中aligned环境很相似,可以实现过长的多段公式换行并对齐。除此之外,在该环境下还可以在公式中的右侧添加箭头符号来实现对公式步骤的解释说明,以明确展示数学公式的逻辑性与严谨性。 该宏包可以在xelatex, lualatex, pdflatex中使用,还可以在latexdvips-ps2pdf中使用。witharrows宏包需要使用一些相关宏包,expl3, xparse 和 tikz等,tikz中还要求更多,如calc, arrows.meta和bending。 在witharrows环境下可以通过相关宏包tikz等,对箭头符号的外观,方向,形状弯直,颜色,起始位置,跨行间距以及多个箭头之间空隙的大小进行修饰。witharrows是一个独立的宏包,不需要在aligned环境前提之下使用。二者可编译出相似的结果,但在宏包的使用上有所不同。该环境可以嵌套使用,每一层witharrow环境中都可以使用arrow命令。 宏包加载使用还是非常简单的\usepackage {witharrows} ,后面给大家介绍下其大致的使用场景和效果。我们可以使用如下的WithArrows环境,注意如果异常要编译两次:
$\begin{WithArrows} ~ \end{WithArrows}$基本的环境使用样例如下:
\documentclass{ctexart} \usepackage{witharrows} \begin{document} $\begin{WithArrows} A & = (a+1)^2 \Arrow{我们展开} \\ & = a^2 + 2a + 1 \end{WithArrows}$ \end{document}如果是三行公式,我们要跳过第二行怎么来做呢?
\documentclass{ctexart} \usepackage{witharrows} \begin{document} $\begin{WithArrows} A & = \bigl((a+b)+1\bigr)^2 \Arrow{}\Arrow{}[jump=2] \\ & = (a+b)^2 + 2(a+b) +1 \\ & = a^2 + 2ab + b^2 + 2a + 2b +1 \end{WithArrows}$ \end{document}如果我们希望箭头的位置能够离开公式一些该怎么办呢?
\documentclass{ctexart} \usepackage{witharrows} \begin{document} $\begin{WithArrows} A & = \bigl((a+b)+1\bigr)^2 \Arrow[xoffset=1cm]{with \texttt{xoffset=1cm}} \\ & = (a+b)^2 + 2(a+b) +1 \end{WithArrows}$ \end{document}那么我们希望箭头向上,加粗一下,怎么做呢?不用急很简单:
\documentclass{ctexart} \usepackage{witharrows} \begin{document} $\begin{WithArrows} A & = (a+1)^2 \Arrow[tikz=thick]{we expand} \\ & = a^2 + 2a + 1 \end{WithArrows}$ $\begin{WithArrows} A & = (a+1)^2 \Arrow[tikz=<-]{we factorize} \\ & = a^2 + 2a + 1 \end{WithArrows}$ \end{document}如何让箭头改变弧度,变成直线箭头,如何设定文本解释的宽度,如何让箭头和文本样式多样些等等,可以看其文档。还有更多使用技巧和方法。 选自:https://ctan.org/pkg/witharrows
发表评论 取消回复