无法缩放花括号

无法缩放花括号

为了跟进我的上一个问题,我想对齐两个箭头,并在它们周围加上花括号。下面的方法可以正常工作

\documentclass{article}
\usepackage[margin=2cm,centering]{geometry}
\usepackage{amsmath}
\usepackage{mathtools}
\newcommand*{\myrightarrow}[1]{\xrightarrow{\mathmakebox[5cm]{#1}}}
\newcommand*{\myleftarrow}[1]{\xleftarrow{\mathmakebox[5cm]{#1}}}

\begin{document}

\noindent\fbox{\begin{minipage}{\dimexpr6.5in-2\fboxsep-2\fboxrule\relax}
{\bfseries Alice \hfill Bob}
\begin{align*}
&\myleftarrow{a}
\\
&\myrightarrow{}
\\
\{&\begin{array}{c}
\myleftarrow{q} \\
\myrightarrow{k}
\end{array} 
\}
\\
&\myleftarrow{c}
\\
\end{align*}
\end{minipage}}

\end{document}

问题是我需要让花括号适合数组。从我读到的内容来看,\{\left\{\}替换\right\}应该可以。但是当我这样做时会出现错误:

\documentclass{article}
\usepackage[margin=2cm,centering]{geometry}
\usepackage{amsmath}
\usepackage{mathtools}
\newcommand*{\myrightarrow}[1]{\xrightarrow{\mathmakebox[5cm]{#1}}}
\newcommand*{\myleftarrow}[1]{\xleftarrow{\mathmakebox[5cm]{#1}}}


\begin{document}

\noindent\fbox{\begin{minipage}{\dimexpr6.5in-2\fboxsep-2\fboxrule\relax}
{\bfseries Alice \hfill Bob}
\begin{align*}
&\myleftarrow{a}
\\
&\myrightarrow{}
\\
\left\{&\begin{array}{c}
\myleftarrow{q} \\
\myrightarrow{k}
\end{array} 
\right\}
\\
&\myleftarrow{c}
\\
\end{align*}
\end{minipage}}
\end{document}

有什么建议吗?谢谢!

答案1

问题出&在 之后\left\{。如果您只想将箭头居中,您可以尝试其他解决方案(没有显式对齐字符)或另一种方法

\documentclass{article}
\usepackage[margin=2cm,centering]{geometry}
\usepackage{amsmath}
\usepackage{mathtools}
\newcommand*{\myrightarrow}[1]{\xrightarrow{\mathmakebox[5cm]{#1}}}
\newcommand*{\myleftarrow}[1]{\xleftarrow{\mathmakebox[5cm]{#1}}}


\begin{document}

\fbox{\begin{minipage}{\dimexpr6.5in-2\fboxsep-2\fboxrule\relax}
\centering
{\bfseries Alice \hfill Bob}

$\myleftarrow{a}$

$\myrightarrow{}$

$\left\{\begin{array}{@{}c@{}}
\myleftarrow{q} \\
\myrightarrow{k}
\end{array} 
\right\}$

$\myleftarrow{c}$

\end{minipage}}

\end{document}

在此处输入图片描述

相关内容