从数组中删除水平缩进

从数组中删除水平缩进

如何从数组中删除水平缩进全球

在此处输入图片描述

\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允许对符号进行对齐的环境。与环境的间距相比,=还要注意环境行之间的间距增加。alignedarray

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}

相关内容