使用 l3box 和 l3skip 的 dim 变量进行实验

使用 l3box 和 l3skip 的 dim 变量进行实验

注意:以下 MWE 对于任何形式的使用或进一步应用都没有任何意义,而仅仅是为了尝试问题标题上明确写的包。

在此处输入图片描述

\documentclass{article}
\usepackage{xparse}
\ExplSyntaxOn
\dim_new:N \l_shcstyle_instruction_length
\dim_set:Nn \l_shcstyle_instruction_length { 8em }

\box_new:N \l_shcstyle_bullet_box
\hbox_set:Nn \l_shcstyle_bullet_box { \textbullet\  } 

\NewDocumentCommand{\mybulletpar}{ m }
 {
    \parbox{\dim_use:N \l_shcstyle_instruction_length}
     {
      \hbox_overlap_left:n 
       { 
        %\box_move_up:nn { 0ex }
         %{
          \box_use:N \l_shcstyle_bullet_box 
         %}
       } 
      #1
     }
 }
\ExplSyntaxOff

\begin{document}
This is a \mybulletpar{some random text used to test newcommand}

\end{document}

因此,我一直在研究一些 LaTeX 3 包,尤其是l3box和,l3skip因为它们看起来很容易理解,但我不确定它们是否正确使用以及在命令中的实现。例如,上面的 MWE,我创建了一个新的维度;我想我把它命名为 local 是正确的。之后,我把它的大小设置为8em。然后我创建了一个框并用它来设置的内容hbox。到目前为止还不算什么难事。然后我尝试使用命令\hbox_overlap_left:n { box }来让它有点像一个\llap{<content>}。(不太确定这是否是它的正确用法。)但请注意,当我使用我创建的框时\box_use:N \l_shcstyle_bullet_box,它会创建一个空行。奇怪的?老实说,我只是在试验这个。

对命令的命名、使用或其他示例实现的任何见解和更正都会帮助我更好地理解 LaTeX 3。请注意,interface3仅提供了一些命令的描述。

我还对如何使用以下命令感兴趣:

  • \box_move_right:nn {<dimexpr>} {<box function>}
  • \box_move_left:nn {<dimexpr>} {<box function>}

以及涉及以下方面的命令:\vbox:n {<contents>}

相关内容