编译时,对宏的调用会在单词之间插入额外的空格,并且“[3 Min]”会分成两行。为什么?
\documentclass{beamer}
\usepackage{tcolorbox}
\newcommand{\test}[1]{\textbf{Aufgabe #1: {\thesection}}}
\def\mytcolorbox#1#2#3%
{%
\begin{tcolorbox}%
#1\hfill[#2 Min]%
\tcblower%
#3%
\end{tcolorbox}%
}%
\begin{document}
\begin{frame}
\mytcolorbox{\test{hello} text 1 text2 text 3 and so on...}{3}{great}
\end{frame}
\end{document}
答案1
如果您的 [3 分钟] 必须转到右边距,那么您需要一些比在和~
之间添加更复杂的东西。#2
Min
\documentclass{beamer}
\usepackage{tcolorbox}
\newcommand{\test}[1]{\textbf{Aufgabe #1: {\thesection}}}
\newcommand\mytcolorbox[3]{%
\begin{tcolorbox}
#1\nobreak\hfill\penalty50\hskip1em\null\nobreak
\hfill\mbox{[#2 Min]}%
{\parfillskip=0pt \finalhyphendemerits=0 \par}
\tcblower
#3%
\end{tcolorbox}%
}
\begin{document}
\begin{frame}
\mytcolorbox{\test{hello} text 1 text2 text 3 text 4 and so on...}{3}{great}
\end{frame}
\end{document}
看https://tex.stackexchange.com/a/391739/4427了解更多信息。
没有text 4
: