包含多个函数的数学形成/图形可视化

包含多个函数的数学形成/图形可视化

我希望我能正确表达这一点:

我想要的 LaTeX 示例如下:

例子

a+b*c=  
| a=1+2  
| b=g*2+3  
||g=2b  
|||g=3  
|c= 4+d  
||d=3  

并且 | 应该连接起来。就像带有制表符空格的普通列表一样。

或者是否有另一种方式将方程式显示为某种连通的图形。

我发现xypic但这并不是我真正想要的。

我可以用表格来做到这一点,将第一列连接起来,里面有一条大的垂直线,……

你知道吗?你有什么建议吗?

这不仅适用于纯数学。

答案1

规则之间的间距是可设置的,在 的定义中\lbar,当前设置为 0.7ex。下面,我分别用数学轴在底线、顶线或中间(奇数行,然后偶数行)来显示它。

按键是\Longstack哪个在基线上方堆叠且具有均匀的行间距,\Longunderstack哪个从基线向下堆叠且具有均匀的行间距,以及(对于最后一个例子)\stackanchor(对于\stacktype“L”)将聚合基线移动到上下项目基线之间的中间位置。

\documentclass{article}
\usepackage{stackengine}
\def\lbar{%
  \protect\rule[-.3\baselineskip]{.1ex}{\baselineskip}%
  \protect\rule{.7ex}{0ex}%
}
\begin{document}
\[
x = 
\Longstack[l]{%
{$a+b*c$}
{\lbar $a = 1 + 2$}
{\lbar $b = g*2 + 3$}
{\lbar\lbar $g = 2b$}
{\lbar\lbar\lbar $g = 3$}
{\lbar $c = 4 + d$}
{\lbar $d = 3$}%
}
\]

\[
x = 
\Longunderstack[l]{%
{$a+b*c$}
{\lbar $a = 1 + 2$}
{\lbar $b = g*2 + 3$}
{\lbar\lbar $g = 2b$}
{\lbar\lbar\lbar $g = 3$}
{\lbar $c = 4 + d$}
{\lbar $d = 3$}%
}
\]

\[
x=
\savestack{\upperstack}{\Longstack[l]{%
{$a+b*c$}
{\lbar $a = 1 + 2$}
{\lbar $b = g*2 + 3$}
{\lbar\lbar $g = 2b$}%
}}
\Longunderstack[l]{%
{\upperstack}
{\lbar\lbar\lbar $g = 3$}
{\lbar $c = 4 + d$}
{\lbar $d = 3$}%
}
\]

\[
x=
\savestack{\upperstack}{\Longstack[l]{%
{$a+b*c$}
{\lbar $a = 1 + 2$}
{\lbar $b = g*2 + 3$}%
}}
\savestack{\lowerstack}{\Longunderstack[l]{%
{\lbar\lbar $g = 2b$}
{\lbar\lbar\lbar $g = 3$}
{\lbar $c = 4 + d$}%
}}
\def\stackalignment{l}
\def\stacktype{L}
\stackanchor{\upperstack}{\lowerstack}
\]
\end{document}

在此处输入图片描述

答案2

还有另一种可能性:

\documentclass{article}
\usepackage{amsmath}

\begin{document}
\begin{align}
    a&+b*c = \\
    &\left|\begin{aligned}
        a&=1+2\\
        b&=g*2+3\\
        &\left|\begin{aligned}
            g&=2b\\
            &\left|\begin{aligned}
                g=3
            \end{aligned}\right.\\
        \end{aligned}\right.\\
        c&= 4+d\\
        &\left|\begin{aligned}
            d=3
        \end{aligned}\right.\\
    \end{aligned}\right.
\end{align}
\end{document}

在此处输入图片描述

答案3

这是一种可能性,通过修改 Steven Segletes 关于如何格式化电子邮件对话的旧答案获得(https://tex.stackexchange.com/a/121987/25356)。

\documentclass{article}

\usepackage{scalerel}
\global\newcounter{embedlevel}
\global\newlength\embedspace
\embedspace=3ex
\setcounter{embedlevel}{1}

\newcommand\embed[1]{%
  \stepcounter{embedlevel}%
  \stretchrel{\rule{0.2ex}{1ex}}{\hspace{\embedspace}\parbox{%
    \textwidth-\value{embedlevel}\embedspace}{%
    \rule{0ex}{2ex}$#1$\rule[-1.3ex]{0ex}{1.3ex}%
  }}%
  \vspace{.5ex}%
  \addtocounter{embedlevel}{-1}%
}

\parindent=0pt

\begin{document}
\[
\begin{array}{l}
a+b*c=\\
\embed{%
  a=1+2 \\ 
  b=g*2+3\\
  \embed{%
    g=2b\\
    \embed{%
    g=3
    }%
  }\\
  c= 4+d\\
  \embed{%
    d=3
  }%
}
\end{array}
\]

\end{document} 

在此处输入图片描述

相关内容