Multicol:为什么列没有正确对齐?

Multicol:为什么列没有正确对齐?

以下代码没有对齐两列的内容,无法正确对齐;特别是,页面上左列的内容比右列的内容低一点。

\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}

在此处输入图片描述

您真的确定要划下划线吗?

相关内容