编写序列术语

编写序列术语

写出序列项的最佳方式是什么,以某种方式像这样,但最好是对齐的? 0

有没有办法自动根据方程生成项,即序列 (3) 中的 n²?

如果是这样,那么如何才能写出术语和它们的索引之间的关系,如下所示: 1

答案1

以下是自动生成。“对齐”的含义不清楚。因此我采用了各种方法。

\documentclass[a4paper]{article}
\usepackage[hscale=0.8]{geometry}
\usepackage{amsmath}

\usepackage{xintexpr}

\usepackage{array}

\makeatletter
\let\gobble\@gobble
\makeatother

\begin{document}

\begin{align}
  \xinttheexpr seq(2^n, n=0..15)\relax, \dots\\
%
  \xinttheexpr seq(2n+1, n=2..17)\relax, \dots\\
%
  \xinttheexpr seq(n^2, n=1..16)\relax, \dots\\
%
\edef\L{\xinttheiiexpr seq(subs((n=m^2)?{m}{-n}, m=sqrt(n)), n=1..16)\relax}%
  \xintFor #1 in \L\do{\ifnum #1<0 \sqrt{\gobble #1}\else #1\fi, }\dots\\
%
\edef\L{\xinttheexpr seq(n/(n+1), n=1..16)\relax}%
  \xintFor #1 in \L\do{\xintFrac {#1}, }\dots\\
%
  \xinttheexpr rseq(2; @-2, i=1..15)\relax, \dots\\
1%
\edef\L{\xinttheexpr seq(1/n, n=1..16)\relax}%
  \xintFor #1 in \L\do {\xintFrac{#1}, }\dots\\
%
\edef\L{\xinttheexpr seq(n, n=1..16)\relax}%
  \xintFor #1 in \L\do{\ifodd #1 #1\else\xintFrac{1/#1}\fi, }\dots\\
%
\edef\L{\xinttheexpr seq((1/n,-1/n),n=1..[2]..16)\relax}%
  \xintFor #1 in \L\do{\xintSignedFrac{#1}, }\dots\\
%
\edef\L{\xinttheexpr seq((1/n,(n+1)/(n+2)), n=1..[2]..16)\relax}%
  \xintFor #1 in \L\do{\xintFrac{#1}, }\dots\\
%
\edef\L{\xinttheexpr seq(x, x=1..12)\relax}%
\xintFor #1 in \L\do
  {\begin{smallmatrix}
      \xinttheexpr 2^(#1-1)\relax\\\uparrow\\ #1
   \end{smallmatrix}\;}%
\begin{smallmatrix}
   \dots\\ \\\dots
\end{smallmatrix}\;%
\begin{smallmatrix}
   2^{n-1}&\dots&\text{ (terms of the sequence)}\hfill\\
   \uparrow &&\\ 
   n&\dots&\text{ (position numbers of the terms)}
\end{smallmatrix}\\
%
\edef\L{\xinttheexpr rseq(1; @+i^2, i=2..16)\relax}%
\edef\M{\xinttheexpr seq(reduce(n(n+1)(2n+1)/6), n=1..16)\relax}%
\edef\N{\xinttheexpr seq(n, n=1..16)\relax}%
\def\arraystretch{1.5}%
\begin{array}{*{17}c}
  \xintFor #1 in \L\do{#1&}\sum_{i=1}^n i^2\\
  \xintFor #1 in \M\do{#1&}\frac{n(n+1)(2n+1)}{6}\\
  \xintFor #1 in \N\do{#1&}n\\
\end{array}
\end{align}

\end{document}

仅在需要进行某些格式化时才使用\xintFor,例如,当打印分数A/B不够时\frac{A}{B},或者当想要用制表位替换逗号以便对齐时。

技术说明:\xintFor使用逗号分隔值;列表可以封装在宏中,但此宏仅扩展一次。因此,为简单起见,我们首先通过\edef(我们可以使用\romannumeral-`0前缀)构造列表。

第二个技术提示:如果发现平方根列表 (4) 不是完全平方数,则使用技巧在数字前加上一个符号。然后格式化检查这个符号。

OP 中编号为 (10) 的列表似乎有问题。我不明白4/4。不过,A4/5与其他列表很契合。

在此处输入图片描述

答案2

使用alignamsmath 包提供的环境:

编号:

\begin{align} % or \[\begin{aligned}
1, && 2, && 4, && 8, && 16, && 32, && 64, && 128, && \ldots \\
1, && \sqrt2, && \sqrt3, && 2, && \sqrt5, && \sqrt6, && \sqrt7, && 2\sqrt2, && \ldots
\end{align} % or \end{aligned}\]

未编号:

\begin{align*} % or \[\begin{aligned}
1, && 2, && 4, && 8, && 16, && 32, && 64, && 128, && \ldots \\
1, && \sqrt2, && \sqrt3, && 2, && \sqrt5, && \sqrt6, && \sqrt7, && 2\sqrt2, && \ldots
\end{align*} % or \end{aligned}\]

align环境替代了\[ ... \]和 等效环境。如果您仍需要\[ ... \],可以使用aligned其中的环境。

&s 是实现良好对齐的必要条件。实际上,每个数字之间都有一个空白列(列交替使用右对齐和左对齐,我们跳过一种对齐方式。)如果您愿意,可以将逗号放在空白列中,而不是放在数字后面。

如果您想要箭头,只需像数字一样直接添加它们:

\begin{align*} % or \[\begin{aligned}
1 &,& 2 &,& 4 &,& 8 &,& 16 &,& 32 &,& \ldots && 2^{n-1} && \ldots & \quad\text{(terms of the sequence)} \\
\uparrow && \uparrow && \uparrow && \uparrow && \uparrow && \uparrow && && \uparrow \\
1 &,& 2 &,& 3 &,& 4 &,& 5 &,& 6 &,& \ldots && n && \ldots & \quad\text{(position numbers of the terms)}
\end{align*} % or \end{aligned}\]

请随意查看 amsmath 文档以了解有关align环境的更多信息。

以下是这三段代码的运行结果:

结果

答案3

(当我提出不同的方法时,我会写一个新的答案。)

可以将示例视为表格,或者更准确地说,在数学模式下,视为数组。我认为尤其是最后一个:

因此,使用array环境,您可以更精确、更轻松地控制每列的​​对齐方式。以下是如何重现术语与其索引之间的关系:

\[\begin{array}{cccccccccl}
1 & 2 & 4 & 8 & 16 & 32 & \ldots & 2^{n-1} & \ldots & \text{...} \\
\uparrow & \uparrow & \uparrow & \uparrow & \uparrow & \uparrow & & \uparrow & & \\
1 & 2 & 3 & 4 & 5  & 6  & \ldots & n       & \ldots & \text{...}
\end{array}\]

这里我使用了c-type 列,但要复制上面的图片,您将需要l-type 列。

相关内容