通过将参数与字符串匹配进行打印

通过将参数与字符串匹配进行打印

我想要 1)Robert在参数不存在时打印,以及 2)Alice在参数与某个字符串匹配时打印或者Robert在参数与某个字符串不匹配时打印。

\documentclass[a4paper,10pt]{article}

\ExplSyntaxOn

\NewDocumentCommand {\myCommand} { O{} }
  {
     Alice (When #1 is Girl)
     Robert (otherwise)
   }

\ExplSyntaxOff

\begin{document}

\myCommand[Girl]

\end{document}

答案1

在此处输入图片描述

如果参数包含 d 中的任意数量的 p 和 c,则 Alice 为 Alice,否则 Robert

\documentclass[a4paper,10pt]{article}

\ExplSyntaxOn

\NewDocumentCommand {\myCommand} {O{}}
  {
    \regex_match:nnTF
      {dp*c} {#1}
      { Alice }
      { Robert }
  }

\ExplSyntaxOff

\begin{document}

1 \myCommand

2 \myCommand[wibble]

3 \myCommand[xxxdpc]

4 \myCommand[dppppppppppc]

\end{document}

或者在编辑后遇到完全不同的问题,使用字符串相等性测试Girl

在此处输入图片描述

\documentclass[a4paper,10pt]{article}

\ExplSyntaxOn

\NewDocumentCommand {\myCommand} {O{}}
  {
    \str_if_eq:nnTF
      {#1} {Girl}
      { Alice }
      { Robert }
  }

\ExplSyntaxOff

\begin{document}

1 \myCommand

2 \myCommand[wibble]

3 \myCommand[Girl]

4 \myCommand[xxxGirlxxx]

\end{document}

相关内容