多行和自动宽度的框

多行和自动宽度的框

我觉得这个问题有点愚蠢,但我找不到答案。我正在寻找一个\parbox没有参数的width,即它应该由其内容决定。内容是多行。类似于:

       A
I like B , but who cares?
       C2

\mbox看起来,or不允许\makebox换行,而 a\parbox需要一个width参数。一定有一些简单的解决方案可以解决我想要的问题,不是吗?

答案1

简单一点怎么样tabular

% arara: pdflatex
\documentclass{article}
\begin{document}

I like \begin{tabular}{l}A\\B\\C2\end{tabular} but who cares?
\end{document}

截屏

答案2

另一个简单的解决方案是使用stackengine软件包。行分隔符默认为空格,但可以更改:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{fourier, heuristica}

\usepackage{stackengine}

\begin{document}

I like \Centerstack[l]{A B C2} but who cares?

\end{document} 

在此处输入图片描述

答案3

制作一张桌子或使用一个包来做这件事有什么乐趣呢?一个更有趣的方法:

\documentclass{article}
\begin{document}
I like \rlap{\raisebox{1em}{A}}\rlap{\raisebox{-1em}{C2}}B, but who cares?
\end{document} 

平均能量损失

在上面的例子中,宽度 C2 对内联文本没有影响,因此逗号位于数字 2 上方。如果这是一个问题,则不要将其用于\rlap最长的堆叠文本行:

I like \rlap{\raisebox{1em}{A}}\rlap{B}\raisebox{-1em}{C2}, but who cares?

如果行是多行段落,只需将其括在 中即可\parbox。例如:

\documentclass{article}
\usepackage{lipsum}
\begin{document}
I like \vrule{} 
\rlap{\raisebox{1em}{A}}\rlap{B}\raisebox{-1em}{\tiny\parbox[t]{6cm}{\lipsum[2]}}%
, but who cares?
\end{document} 

相关内容