通过字体缩放将长度未知的文本放入框中

通过字体缩放将长度未知的文本放入框中

在通过脚本生成 TeX 文档的情况下,挑战在于将可变长度的文本很好地放入固定大小的框中。

有一个适合 80% 情况的默认字体大小,但是如果框太满,TeX 引擎* 应该减小该框的字体大小,直到文本适合该框。

这可能吗?

(抱歉没有提供示例代码,但我认为从解释上可以清楚地看出。)

如果在这种情况下 LuaTeX 可以很好地发挥作用,我很乐意研究它。

答案1

再次tcolorbox回答。首先是宏版本:

\documentclass{article}
\usepackage[fitting]{tcolorbox}
\usepackage{lipsum}
\usepackage{lmodern}
\newtcboxfit{\mybox}[3][]{colback=red!25!olive,
colframe=red!75!olive,fonttitle=\bfseries,
boxsep=1mm,left=0mm,right=0mm,top=0mm,
bottom=0mm,center upper,valign=center,
nobeforeafter,#1,width=#2,height=#3}

\begin{document}
%% \mybox[<optional>]{<width>}{<height>}{<content>}
\mybox{5cm}{3cm}{\lipsum[1]}
\mybox[colback=green!30]{6cm}{4cm}{\lipsum[1]}


\end{document}

在此处输入图片描述

现在环境形式:

\documentclass{article}
\usepackage[fitting,skins]{tcolorbox}
\usepackage{lipsum}
\usepackage{lmodern}
\newtcolorbox{fitbox}[3][]{fit,,width=#2,height=#3,boxsep=1pt,valign=center,opacityupper=0.5,
top=0.4\tcbfitdim,bottom=0.4\tcbfitdim,left=0.75\tcbfitdim,right=0.75\tcbfitdim,
enhanced,watermark text={\tcbfitsteps},colframe=blue!75!black,colback=white,#1}

\begin{document}
%\begin{fitbox}[<optional>]{<width>}{<height>}
  %contents
%\end{fitbox}
\begin{fitbox}{4cm}{2cm}
\lipsum[1]
\end{fitbox}
\begin{fitbox}[colback=green!20]{2cm}{4cm}
\lipsum[2]
\end{fitbox}
\begin{fitbox}{1cm}{2cm}
\lipsum[3]
\end{fitbox}


\end{document}

在此处输入图片描述

相关内容