答案1
这里是一种使用普通 TeX 对齐的方法cleaders
...
\documentclass{article}
\begin{document}
\[
\tabskip0pt\openup 3pt
\vbox{\halign{#&&\hbox to 1.2in{\cleaders\hbox{#}\hfill}&\hbox to 0pt{\hss$#$\hss}\cr
&\multispan6 \hfil $f(x) = 6(x-2)(x+1)$ \hfil \cr
\noalign{\medskip}
$f'(x)$ & + & 0 & $ - $ & 0 & + \cr
&---&\vert&---&\vert&---&\cr
&&-1&&2\cr}}
\]
\end{document}
答案2
您可以使用 TeX 基元创建此类图表。\diag
宏定义如下,语法如下:
\diag { f'(x) ; 4*+ ; -1 ; 3*- ; 2 ; 4*+ }
% label ; 4cm of plus ; point -1 ; 3cm of minus ; point 2 ; 4cm of plus
“点;空间正负量”对的数量是无限的。
\def\diag#1 {\par\def\diagL{}\moveright2em\vbox\bgroup \hbox\bgroup \diagA #1 ;;}
\def\diagA#1;{\llap{$#1$}\diagB}
\def\diagB#1*#2;#3;{\dimen0=#1cm \advance\dimen0 by-.6em
\kern.3em \xleaders\hbox{$#2$}\hskip\dimen0
\kern.3em
\ifx;#3;%
\egroup \medskip \hrule \kern-5pt
\hbox{\diagL}\egroup
\else
\xdef\diagL{\diagL
\kern#1cm \vrule height22pt depth-12pt \hbox to0pt{\hss$#3$\hss}}%
\hbox to0pt{\hss$0$\hss}%
\expandafter \diagB
\fi
}
\diag { f'(x) ; 4*+ ; -1 ; 3*- ; 2 ; 4*+ }
\bye