我想排版一个表格,列出一些方程式,例如
Euler's formula & e^{i\phi} &= \cos\phi + i\sin\phi
Euler's identity & 1 + e^{i\pi} &= 0
将其放在\begin{tabular}{l|rl}
环境中,所有公式都需要用$
' 包围,而使用array
文本必须放入 中\text{...}
。有没有办法定义一个默认包含的是文本,而另一个是数学模式?
答案1
\documentclass{article}
\usepackage{array}
\begin{document}
\begin{tabular}{@{} l >{$}r<{$} @{\kern1.4pt} >{$}l<{$} @{}}
Euler's formula & e^{i\phi} &= \cos\phi + i\sin\phi \\
Euler's identity & 1 + e^{i\pi} &= 0\\
\end{tabular}
\end{document}
默认表格标题是
-----------col 1---------- ------------col 2 ---------- ---------- col 3---------
\tabcolsep TEXT \tabcolsep \tabcolsep $MATH$ \tabcolsep \tabcolsep $MATH$ \tabcolsep
我可以用忽略这个额外水平空间的@{...}
默认长度来替换它。\tabcolsep
@{}
之间然后它替换两列两个都 \tabcolsep
答案2
为了将来参考,tabu
包裹使得这相当容易:
\documentclass[a4paper, 12 pt]{scrartcl}
\usepackage[utf8]{inputenx}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{amsmath}
\usepackage{tabu}
\begin{document}
\section{Another possibility}
\begin{tabu} to 0.75\textwidth{X[l] X[r, $] X[l, $]}
Euler's formula & e^{i\phi} &= \cos\phi + i\sin\phi \\
Euler's identity & 1 + e^{i\pi} &= 0
\end{tabu}
\end{document}