tcolorbox 和 resizebox 的宽度。防止框出现在行中

tcolorbox 和 resizebox 的宽度。防止框出现在行中

当我使用 resizebox 围绕几个 tcolorbox 时,它们都会出现在同一行中。我想在这些 tcolorbox 之间创建一个漂亮的布局,并添加换行符,然后将其缩小以适合我的幻灯片。如果没有 resizebox(或类似程序),我无法做到这一点,因为我的 tcolorbox 在同一文本中包含 \huge 和其他 \fontsizes,并且这些文本已经格式化。

\documentclass{beamer}
\usepackage{tcolorbox}
\usepackage{lipsum}

\newcommand{\shortlipsum}{Lorem ipsum dolor sit amet.}

\begin{document}
\begin{frame}
\frametitle{Inline tcolorboxes Issue}

\resizebox{\textwidth}{!}{%
    \begin{tcolorbox}[width=5cm]
        {\tiny \lipsum[1]}
    \end{tcolorbox}
    
    \begin{tcolorbox}[width=5cm ]
        {\tiny \lipsum[1]}
    \end{tcolorbox}

    % FORCE A LINE BREAK
    
    \begin{tcolorbox}[width=10cm ]
        {\large\shortlipsum}
    \end{tcolorbox}
    
    % FORCE A LINE BREAK
    
    \begin{tcolorbox}[width=10cm ]
        {\Huge\shortlipsum}
    \end{tcolorbox}
}

\end{frame}
\end{document}

任何评论非常感谢

答案1

缩放包含文本的元素通常不是一个好主意。相反,您应该选择合适的字体大小。由于您已经在使用 tcolorboxes,因此您可以使用适配库来选择适合您的字体大小。

如果你真的想扩展你的可怜的盒子,你可以使用与https://tex.stackexchange.com/a/714013/36296

\documentclass{beamer}
\usepackage{tcolorbox}
\usepackage{lipsum}

\newcommand{\shortlipsum}{Lorem ipsum dolor sit amet.}

\begin{document}
\begin{frame}[shrink=66]
\frametitle{Inline tcolorboxes Issue}

%\resizebox{\textwidth}{!}{%
    \begin{tcolorbox}[width=5cm]
        {\tiny \lipsum[1]}
    \end{tcolorbox}
    
    \begin{tcolorbox}[width=5cm ]
        {\tiny \lipsum[1]}
    \end{tcolorbox}

    % FORCE A LINE BREAK
    
    \begin{tcolorbox}[width=10cm ]
        {\large\shortlipsum}
    \end{tcolorbox}
    
    % FORCE A LINE BREAK
    
    \begin{tcolorbox}[width=10cm ]
        {\Huge\shortlipsum}
    \end{tcolorbox}
%}

\end{frame}
\end{document}

在此处输入图片描述

相关内容