以下代码没有对齐两列的内容,无法正确对齐;特别是,页面上左列的内容比右列的内容低一点。
\documentclass [11pt]{article}
\usepackage{amsmath}
\usepackage{multicol}
\begin{document}
\noindent
So why do the two colums not align vertically?
\begin{multicols}{2}
\begin{align*}
& \text{\underline{function} } f_a(x): \\
& \quad \text{\underline{begin}} \\
& \quad \quad i \leftarrow 1; \\
& \quad \quad \text{\underline{while}} (g(i) \neq x) \text{ \underline{do} } i \leftarrow i +1; \\
& \quad \quad f_a \leftarrow 0; \\
& \quad \text{\underline{end}}
\end{align*}
\begin{align*}
& \text{\underline{function} } f_a(x): \\
& \quad \text{\underline{begin}} \\
& \quad \quad i \leftarrow 1; \\
& \quad \quad \text{\underline{while}} (g(i) \neq x) \text{ \underline{do} } i \leftarrow i +1; \\
& \quad \quad f_a \leftarrow 0; \\
& \quad \text{\underline{end}}
\end{align*}
\end{multicols}
\end{document}
为什么?我该如何解决这个问题?
注意:我尝试使用\Columnbreak
,但无济于事。奇怪的是,如果我在两个align*
环境之间添加一个空白行,右列的内容会比左列的内容低一点……
答案1
现在是。你忘了\noindent
在第一个之前插入右边align
,或者在第二个上插入一个空行align
代码
\documentclass[11pt]{article}
\usepackage{amsmath}
\usepackage{multicol}
\begin{document}
\noindent
So why do the two colums not align vertically?
\begin{multicols}{2}
\noindent %<---- here
\begin{align*}
& \text{\underline{function} } f_a(x): \\
& \quad \text{\underline{begin}} \\
& \quad \quad i \leftarrow 1; \\
& \quad \quad \text{\underline{while}} (g(i) \neq x) \text{ \underline{do} } i \leftarrow i +1; \\
& \quad \quad f_a \leftarrow 0; \\
& \quad \text{\underline{end}}
\end{align*} % Or enter a blank line here
\begin{align*}
& \text{\underline{function} } f_a(x): \\
& \quad \text{\underline{begin}} \\
& \quad \quad i \leftarrow 1; \\
& \quad \quad \text{\underline{while}} (g(i) \neq x) \text{ \underline{do} } i \leftarrow i +1; \\
& \quad \quad f_a \leftarrow 0; \\
& \quad \text{\underline{end}}
\end{align*}
\end{multicols}
\end{document}
答案2
你不需要multicol
:
\documentclass [11pt]{article}
\usepackage{amsmath}
\begin{document}
So why do the two colums not align vertically?
\begin{center}
\hfill
$\!\begin{aligned}[t]
& \text{\underline{function} } f_a(x): \\
& \quad \text{\underline{begin}} \\
& \quad \quad i \leftarrow 1; \\
& \quad \quad \text{\underline{while}} (g(i) \neq x) \text{ \underline{do} } i \leftarrow i +1; \\
& \quad \quad f_a \leftarrow 0; \\
& \quad \text{\underline{end}}
\end{aligned}$\hfill\hfill
$\!\begin{aligned}[t]
& \text{\underline{function} } f_a(x): \\
& \quad \text{\underline{begin}} \\
& \quad \quad i \leftarrow 1; \\
& \quad \quad \text{\underline{while}} (g(i) \neq x) \text{ \underline{do} } i \leftarrow i +1; \\
& \quad \quad f_a \leftarrow 0; \\
& \quad \text{\underline{end}}
\end{aligned}$\hfill
\end{center}
\end{document}
您真的确定要划下划线吗?