如何对齐 latex3 框内的内容?

如何对齐 latex3 框内的内容?

\makebox只需传递[r],但我该如何在 latex3 中做到这一点?无论我使用填充还是齐平/参差不齐等,内容都保持左对齐。我怀疑更新后的宽度不会调整内容(如果我之前设置了它,更新内容似乎会重新计算宽度)。

\documentclass{article}

\ExplSyntaxOn

\NewDocumentCommand{\test}{m m}
 {
    \dim_zero_new:N \l_width_dim
    \dim_set:Nn \l_width_dim { #1 }
    \meide_test:nnn { \l_tmpa_box } { \l_width_dim } { #2 }
    \box_use:N \l_tmpa_box
 }

\cs_new_protected:Npn \meide_test:nnn #1#2#3
  {
    \box_clear_new:N {#1}
    \hbox_set:Nn {#1} { \hfill #3 } % also tried dotfill/flushright/raggedleft etc
    \box_set_wd:Nn {#1} {#2}
  }

\ExplSyntaxOff

\begin{document}

result should be aligned to the right: (\test{3em}{test})

\end{document}

答案1

\makebox需要一个宽度,以便对齐有一个大小来对齐,为此你需要\hbox_to_wd:nn或如果设置一个寄存器,\hbox_set_to_wd:Nnn

相关内容