表格和格式中的数学运算

表格和格式中的数学运算

我正在尝试用 LaTeX 编写一个数学分析的小总结,这对我的大学很有用。我被一个问题困扰着,那就是如何创建漂亮的表格,用不同的颜色来包含各种排列的方程式。

displaymath我成功地在内部构建了这样的表格\parbox,它不允许方程对齐,但使用 则不行align*

这是我的代码:

\documentclass[a4paper]{article}
\usepackage{multicol}
\usepackage[table]{xcolor}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{lipsum}
\begin{document}
    \begin{multicols}{2}
    \lipsum[1-3]
    % Row color alternating
    \rowcolors{1}{gray!25}{white}
    \begin{tabular}{c}
        \hline
        \parbox{\linewidth}{$$f : \mathbb{R} \to \mathbb{Q}$$}\\
        \parbox{\linewidth}{$$g : \mathbb{Z} \to \mathbb{C}$$}\\
        \parbox{\linewidth}{$$h : \mathbb{R} \to \mathbb{Q}$$}\\
        $f(g(x)) = \frac{\pi}{2}$\
        % This doesn't work
        %\begin{align*}&f(g(x)) = \frac{\pi}{2}&&\forall x > 0\end{align*}\\
        \hline
    \end{tabular}
    \lipsum[4-6]
    \end{multicols}
\end{document}

答案1

可能有很多方法可以做到这一点。但是,需要一个具有交替行颜色的表格结构会限制您的可能性。这是您当前文档的模型,并进行了一些更改:

在此处输入图片描述

\documentclass[a4paper]{article}
\usepackage[margin=1in]{geometry}% http://ctan.org/pkg/geometry
\usepackage{multicol}% http://ctan.org/pkg/multicol
\usepackage{array}% http://ctan.org/pkg/array
\usepackage[table]{xcolor}% http://ctan.org/pkg/xcolor
\usepackage{amsmath}% http://ctan.org/pkg/amsmath
\usepackage{amsfonts}% http://ctan.org/pkg/amsfonts
\usepackage{lipsum}% http://ctan.org/pkg/lipsum
\renewcommand{\arraystretch}{1.5}% Increase the row height of tabular/array
\newcolumntype{C}{>{\centering\arraybackslash$}p{\linewidth}<{$}}
\begin{document}
  \begin{multicols}{2}
    \lipsum[1-5] \par \medskip

    % Row color alternating
    \rowcolors{1}{gray!25}{white}%
    \setlength{\tabcolsep}{0pt}%
    \noindent\begin{tabular}{C}
      \hline
      f : \mathbb{R} \to \mathbb{Q} \\
      g : \mathbb{Z} \to \mathbb{C} \\
      h : \mathbb{R} \to \mathbb{Q} \\
      f(g(x)) = \frac{\pi}{2}\phantom{\ \forall x > 0} \\
      f(g(x)) = \frac{\pi}{2}\ \forall x > 0 \\
      \hline
    \end{tabular} \par \medskip

    \lipsum[6-8]
  \end{multicols}
\end{document}

以下是针对调整后的示例的一些评论:

  • 我用过geometry调整边距,因为我觉得双列模式下的默认边距设置太窄了;
  • 表格与流动的文本区分开来,采用\par\medskip中等垂直跳跃作为分隔;
  • 由于tabular本身就是一个元素(水平模式),它以 为段落开头,因此缩进为\parindent。使用 可\noindent删除此缩进,设置 为 与列边距左对齐;
  • 单个列的宽度\linewidthtabular拉伸到整个列的宽度(\columnwidth效果一样好);
  • \setlength{\tabcolsep}{0pt}通过;删除左列和右列填充
  • tabular行高通过以下方式增加 50% \renewcommand{\arraystretch}{1.5}
  • 虽然单曲tabular设置为段落样式 ( p{\linewidth}),但array包裹列规范允许<stuff>使用 在每个列条目之前插入,>{<stuff>}并在之后使用 附加<{<stuff>}。因此,

    \newcolumntype{C}{>{\centering\arraybackslash$}p{\linewidth}<{$}}
    

    定义一种新的列类型,C将其内容\centering置于数学模式的中心()$...。$

  • 通过充分使用 ,可以与其他行元素进行水平对齐\phantom{...},因为使用align环境不能跨行工作tabular

答案2

我宁愿忘记条纹,它们实际上是留给斑马而不是数学书的,而且它们不会像有时声称的那样提高可读性(参见评论中的链接)。如果你想要更现代的外观,并且与你想要的类似,请使用tcolorboxThomas F. Sturm 教授的优秀软件包,他是
文本体系的引介   他们现在还好心地提供了英文文件。

在此处输入图片描述

以下是 MWE:

\documentclass[twocolumn]{article}
\usepackage[listings,theorems]{tcolorbox}
\tcbset{before={\par\medskip\pagebreak[0]\noindent},after={\par\medskip}}%
\begin{document}
\section{Table of Equations}
\newcounter{texercise}[section]
\begin{tcolorbox}[colback=blue!5,colframe=blue!50!black,arc=0mm,
theorem={Equation}{texercise}{Summation}{myMarker}]{Summation of Numbers}{summation}
  For all natural number $n$ it holds:\\[2mm]
  \[\displaystyle\sum\limits_{i=1}^n i = \frac{n(n+1)}{2}\]
\end{tcolorbox}
\begin{tcolorbox}[colback=blue!5,colframe=blue!50!black,arc=0mm,
theorem={Equations}{texercise}{More on summation}{myMarker}]{Summation of Numbers}{summation}
  For all natural number $n$ it holds:\\[2mm]
   \[\displaystyle\sum\limits_{i=1}^n i = \frac{n(n+1)}{2}\]
  \[\displaystyle\sum\limits_{i=1}^n i = \frac{n(n+1)}{2}+ \frac{n(n+1)}{2}\]
\end{tcolorbox}
\end{document}

您可以在提供的框中包含任何材料tcolorbox,包括表格。

在此处输入图片描述

\begin{tcolorbox}[colback=blue!5,colframe=blue!50!black,arc=0mm,
theorem={Equations}{texercise}{More on summation}{myMarker}]{Summation of Numbers}{summation}
\medskip

\begin{tabular}{lr@{~}c@{~}l@{\qquad}r}
\multicolumn{5}{l}{\hspace{-2ex}\textbf{Line Values.}} \\
\multicolumn{5}{r}{}\\
\multicolumn{4}{l}{Altitude of triangle on side $a$,} \\
& $h$ &=& \( \displaystyle \frac{2}{a}
             \sqrt{s(s-a)(s-b)(s-c)} \) & \\
%
\multicolumn{4}{l}{Median of triangle on side $a$,} \\
& $m$ &=& \( \frac{1}{2} \sqrt{2(b^2+c^2) - a^2} \) & \ \\
\multicolumn{5}{l}{\hspace{-2ex}\textbf{Areas.}} \\
%
Rectangle,     & $S$ &=& $b\times h$ &  \\
Square,         & $S$ &=& $b^2$        &  \\
\end{tabular}
\end{tcolorbox}

该软件包有很多选项,需要仔细研究文档。英文文档是最近才添加的,因此您可能需要更新您的发行版。

相关内容