如何根据某个参数在自定义环境中设置水平对齐

如何根据某个参数在自定义环境中设置水平对齐

因此使用 xparse 的代码如下:

\NewDocumentEnvironment{figwcommentary}{O{0.45} m m}
{ \adjustbox{valign=t} {\begin{minipage}{#1\textwidth} #2 \end{minipage} } }
{ \adjustbox{valign=t,right=0.5\textwidth}{ #3 } \bigskip}

那当然right=0.5\textwidth}应该是无效的代码。right=(1-#1-.05)*\textwidth}

看起来 calc 或 fp 可以用于此,但我不知道如何引用传递的参数。

答案1

没有我想象的那么难:

\NewDocumentEnvironment{figwcommentary}{O{0.45} m m}
{ 
\FPeval\adjustedlen{1-#1-0.05}
\adjustbox{valign=t} {\begin{minipage}{#1\textwidth} #2 \end{minipage} } }
{ \adjustbox{valign=t,right=\adjustedlen\textwidth}{ #3 } \bigskip}

相关内容