数学符号表的输入

数学符号表的输入

对于输入解决数学问题的数量,我想输入标志图表(图表来直观地展示表达式的值)。像这样:

x-5       -    |    -    |    +
x+4       -    |    +    |    +
---------------o---------@------------
          +   -4    -    5    +

(@ 表示完整的圆圈)。主要在 ConTeXt 中寻找解决方案,但为了寻求灵感,欢迎使用 Plain 或 LaTeX 中的解决方案。也许有人有类似的东西可以满足我的需求?我不想插入图片,我对表格中的解决方案更感兴趣。

谢谢雅罗斯拉夫

答案1

我建议使用生成所需表格的宏\sgchart。用法如下:

\sgchart {list of points} {formula: signs, formula: signs, formula: signs etc}

例如

\sgchart {-4, ~5} {x-5: --+, x+4: -++, (x+4)/(x-5): +-+}

如果点值前面没有,~则用实心项目符号打印(默认),如果前面~有,则用圆圈打印。点数和公式数不受限制。

该宏在纯 TeX 中有效(在 LaTeX 中也有效,因为该宏使用了基本的纯 TeX 语法)。ConTeXt 将 catcode 设置为&12,这带来了一点问题。我们需要在定义宏的区域中将此 catcode 设置为 4。这就是为什么这里有两行带有宏的原因\ecatcode。当使用这些行时,宏在 ConTeXt 中也能正常工作。

\newdimen\tcolw \tcolw=2.5em % the column width
\edef\ecatcode{\catcode`&=\the\catcode`&\relax}\catcode`&=4
\def\sgchart#1#2{\vbox{\offinterlineskip\halign{\hfil##\quad&##\hfil\crcr\sgchartA#2,:,%
   \omit\sgchartR&\kern.2pt\sgchartS{.5\tcolw}\relax\sgchartE#1,\relax,%
   \sgchartS{.5\tcolw}\relax\cr
   \noalign{\kern2pt}&\def~{}\kern.5\tcolw\sgchartD#1,\relax,\cr}}}
\def\sgchartA#1:#2,{\cr\ifx,#1,\else $#1$&\sgchartB#2{}\expandafter\sgchartA\fi}
\def\sgchartB#1{\hbox to\tcolw{\hss$#1$\hss}\sgchartC}
\def\sgchartC#1{\ifx,#1,\else
   \strut\vrule\kern-.4pt\hbox to\tcolw{\hss$#1$\hss}\expandafter\sgchartC\fi}
\def\sgchartD#1#2,{\ifx\relax#1\else\hbox to\tcolw{\hss$#1#2$\hss}\expandafter\sgchartD\fi}
\def\sgchartE#1#2,{\ifx\relax#1\else
    \ifx~#1\sgchartS\tcolw\circ \else\sgchartS\tcolw\bullet\fi \expandafter\sgchartE\fi}
\def\sgchartR{\leaders\vrule height2.8pt depth-2.4pt\hfil}
\def\sgchartS#1#2{\hbox to#1{\kern-.2pt\sgchartR \ifx\relax#2\else
   \kern-.7pt$#2$\kern-.7pt\sgchartR\fi\kern-.2pt}}
\ecatcode

\sgchart{-4, ~5} {x-5: --+, x+4: -++, (x+4)/(x-5): +-+}

\bye

图表

答案2

这够了吗?

\documentclass[12pt]{article}
\usepackage[english]{babel}
\begin{document}
\begin{verbatim}
x-5     -   |   -   |   +
x+4     -   |   +   |   +
------------0-------@----------
        +  -4   -   5   +
\end{verbatim}
\end{document}

如果没有,您可以使用(数学)array环境。

答案3

普通 TeX (但需要 e-TeX):

\def\crulefill{\leaders\hrule
  height \dimexpr\fontdimen22\textfont2+0.2pt\relax
  depth -\dimexpr\fontdimen22\textfont2-0.2pt\relax
  \hfill
}
\def\hollow{$\kern-.8pt\circ\kern-.8pt$}
\def\filled{$\kern-.8pt\bullet\kern-.8pt$}

$$
\vbox{\offinterlineskip\tabskip=0pt
  \halign{%
    \strut$#$\hfil\quad&
    \hfil\qquad$#$\qquad\hfil&
    \hfil\vrule#\hfil&
    \hfil\qquad$#$\qquad\hfil&
    \hfil\vrule#\hfil&
    \hfil\qquad$#$\qquad\hfil\cr
  x-5&-&&-&&+\cr
  x+4&-&&+&&+\cr
  \multispan{2}\crulefill&\omit\hfil\hollow\hfil&
    \omit\crulefill&\omit\hfil\filled\hfil&\omit\crulefill\cr
  &+&\omit\hidewidth$-4$\hidewidth&-&\omit\hidewidth$5$\hidewidth&-\cr
}}
$$

\bye

在此处输入图片描述

相关内容