如何从数组中删除水平缩进全球?
\documentclass[]{article}
\usepackage{amsmath}
\usepackage{amsmath, amssymb, amsfonts}
\begin{document}
\section{Test 1 -- normal}
$f(x) =\sin(x)+\cos(x)$
$\begin{array}{ l }
f(x) =\sin(x)+\cos(x) \\
g(x) =\sin(x)+\tan(x) \\
\end{array}$
\section{Test 2 -- with noindent}
\noindent$f(x) =\sin(x)+\cos(x)$
\noindent$\begin{array}{ l }
f(x) =\sin(x)+\cos(x) \\
g(x) =\sin(x)+\tan(x) \\
\end{array}$
\end{document}
答案1
对于完全自动左对齐(即完全右对齐)的环境放置array
,您需要将两个长度参数 --\parindent
和\arraycolsep
-- 设置为0pt
。请务必界定这些重置的范围,例如通过\begingroup
和\endgroup
指令。
单独说明一下:使用单列array
环境来显示方程式行并不是一个好主意。为此,最好使用包的多行显示数学环境之一amsmath
。因此,在下面的“第 4 节”中,我使用了一个aligned
允许对符号进行对齐的环境。与环境的间距相比,=
还要注意环境行之间的间距增加。aligned
array
geometry
由于该包中装有选项,因此会显示以下屏幕截图左侧边缘的框线showframe
。
\documentclass{article}
\usepackage[showframe]{geometry}
\usepackage{amsmath,array}
\begin{document}
\section{Without either \texttt{\string\noindent} or \texttt{@\{\}}}
$\cdots$
$\begin{array}{l}
f(x) =\sin(x)+\cos(x) \\
g(x) =\sin(x)+\tan(x)
\end{array}$
\section{With \texttt{\string\noindent} but without \texttt{@\{\}}}
$\cdots$
\noindent
$\begin{array}{l}
f(x) =\sin(x)+\cos(x) \\
g(x) =\sin(x)+\tan(x)
\end{array}$
\section{With both \texttt{\string\noindent} and \texttt{@\{\}}}
$\cdots$
\noindent
$\begin{array}{@{}l}
f(x) =\sin(x)+\cos(x) \\
g(x) =\sin(x)+\tan(x)
\end{array}$
\section{Automatic treatment, alignment on = symbols}
$\cdots$
\begingroup % limit the scope of the next two directives
\setlength\parindent{0pt}
\setlength\arraycolsep{0pt}
$\begin{aligned}
f(x) &=\sin(x)+\cos(x) \\
g(x) &=\sin(x)+\tan(x)
\end{aligned}$
\endgroup
\end{document}