我是 latex 领域的新手。现在,我正在写论文。我想在 tex 文档中添加标签。为此,我编写了以下代码。
\hspace{2cm}$ \mathbf{a_{11}x_1 + a_{12}x_2 +. . . + a_{1n}x_n = b_1 } $ \newline
\hspace{2cm}$\mathbf{a_{21}x_1 + a_{22}x_2 +. . . + a_{2n}x_n = b_2 }$\newline
\hspace{2cm} ... ... ... ... ... ... \newline
\medskip ... ... ... ... ... ...\newline
\medskip ... ... ... ... ... ...\newline
\medskip $\mathbf{a_{n1}x_1 + a_{n2}x_2 +. . . + a_{nn}x_n = b_n } $ \newline
但是此代码在第一行生成制表符,而在下一行没有生成制表符。为什么?请帮忙。
答案1
您可以使用\hspace*{}
来获得所需的效果:
然而你确实应该使用某种数学环境,例如align
:
笔记:
- 你
...
应该使用\dotsb
。请参阅\dots* 的区别更多细节。
代码:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\noindent
\hspace{2cm}$ \mathbf{a_{11}x_1 + a_{12}x_2 +. . . + a_{1n}x_n = b_1 } $ \newline
\hspace*{2cm}$\mathbf{a_{21}x_1 + a_{22}x_2 +. . . + a_{2n}x_n = b_2 }$\newline
\hspace*{2cm} ... ... ... ... ... ... \newline
\medskip\hspace*{2cm} ... ... ... ... ... ...\newline
\medskip\hspace*{2cm} ... ... ... ... ... ...\newline
\medskip\hspace*{2cm} $\mathbf{a_{n1}x_1 + a_{n2}x_2 +. . . + a_{nn}x_n = b_n } $ \newline
But instead you should use
\begin{align*}
a_{11}x_1 + a_{12}x_2 + \dotsb + a_{1n}x_n &= b_1 \\
a_{21}x_1 + a_{22}x_2 + \dotsb + a_{2n}x_n &= b_2 \\
\end{align*}
\end{document}
答案2
另一种解决方案是使用 array
and ,flalign
这样可以使用命令来获得更好看的长系列点\hdotsfor
。在这种情况下,plain\dots
将执行与 \dotsb 相同的工作:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{fourier}
\usepackage{array}
\usepackage{mathtools, nccmath}
\begin{document}
\noindent Another solution: \useshortskip
\begin{flalign*}
\hspace{2cm} &
\begin{array}{@{}r@{} >{{}}l} \\
a_{11}x_1 + a_{12}x_2 + \dots + a_{1n}x_n &{} = b_1\\
a_{21}x_1 + a_{22}x_2 + \dots + a_{2n}x_n &= b_2 \\
\hdotsfor{2}
\end{array} &
\end{flalign*}
Text text text text text text text text text text text text text text text text text text text text text text text text text text text.
\end{document}