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