如何跨多行对齐文本

如何跨多行对齐文本

我想用下面的代码写出如下图所示的内容。但是,代码不能使文本对齐,有没有简单的方法可以对齐文本?

\begin{figure*}[t]
\begin{small}
    \emph{Role Buyer \{var counter  $=$ 0; }\\
    \emph{      Main () $=$ B2S!\{bch\} $\rightarrow$ Session();} \\
    \emph{~~~~~Session() $=$ bch!QuoteRequest $\rightarrow$ $counter++$; bch?QuoteResonse.x $\rightarrow$ }\\
    \emph{~~~~~~~~~~~~~~~if (x $\leq$ 1000) \{ ~ bch!QuoteAccept $\rightarrow$ bch?OrderConfirmation $\rightarrow$ bch?DeliveryDetails.y $\rightarrow$ Stop ~ \}} \\
    \emph{ elseif (counter > 3) \{ bch!QuoteReject $\rightarrow$ Session() \} ~else~ \{ Stop \}; ~\} }\\
     \} \\  
\end{small} 
\end{figure*}

在此处输入图片描述

答案1

经典tabular环境有什么问题?您也可以将此代码放在图形浮点数内。

您只需要一个\begin{tabular}{lll} ...,但我留下了一个更复杂的例子,因为@{}您可以轻松地控制等号的填充。

该示例为横向显示,因为即使使用小字体,表格也太宽了。您还可以考虑将左列更改l为类似p{11cm}“Session()”结果的多行单元格,这样您就可以在窄表格中保持合适的字体大小,而不会分割结果。

顺便问一下,你听说过这个包裹吗?列表

\documentclass[10pt,landscape]{article}
\usepackage[margin=1cm]{geometry}
\begin{document}
\em\small
\begin{tabular}{l@{\hspace{.5em}}l@{\hspace{.5em}}l}
Role Buyer \{var counter &$=$& 0;\\
Main () &$=$& B2S!\{bch\} $\rightarrow$ Session();\\  
Session() &$=$& bch!QuoteRequest $\rightarrow$ $counter++$; bch?QuoteResonse.x $\rightarrow$\\
&& if (x $\leq$ 1000) \{ ~ bch!QuoteAccept $\rightarrow$ bch?OrderConfirmation $\rightarrow$ bch?DeliveryDetails.y $\rightarrow$ Stop ~ \} \\
&& elseif (counter > 3) \{ bch!QuoteReject $\rightarrow$ Session() \} ~else~ \{ Stop \}; ~\} \\
\end{tabular}

\vspace{2cm}\large

\begin{tabular}{l@{\hspace{.5em}}l@{\hspace{.5em}}p{13cm}}
Role Buyer \{var counter &$=$& 0;\\
Main () &$=$& B2S!\{bch\} $\rightarrow$ Session();\\  
Session() &$=$& bch!QuoteRequest $\rightarrow$ $counter++$; bch?QuoteResonse.x $\rightarrow$ if (x $\leq$ 1000) \{ ~ bch!QuoteAccept $\rightarrow$ bch?OrderConfirmation $\rightarrow$ bch?DeliveryDetails.y $\rightarrow$ Stop ~ \} elseif (counter > 3) \{ bch!QuoteReject $\rightarrow$ Session() \} ~else~ \{ Stop \}; ~\} \\
\end{tabular}

\end{document}

平均能量损失

相关内容