如何使多个单词变为斜体,但不使它们之间的逗号变为斜体?

如何使多个单词变为斜体,但不使它们之间的逗号变为斜体?

例如我有这样一句话:

已发现 GeneA、GeneB 和 GeneC 在 RNA 代谢中发挥作用。

从格式上来说,这就是我想要的:

基因A基因B, 和基因C已发现其在RNA代谢中发挥作用。

我可以通过以下方式实现此目的:

已发现 \textit{GeneA}、\textit{GeneB} 和 \textit{GeneC} 在 RNA 代谢中发挥作用。

有没有办法将一串单词变为斜体,但在文本中省略逗号,同时将逗号也变为斜体?

已发现 \italiciselist{GeneA、GeneB} 和 \textit{GeneC} 在 RNA 代谢中发挥作用。

如果 2 或 3 个单词需要斜体,那么这不是问题,但是如果单词较长,使用可以处理多个单词的函数就会容易得多。

答案1

从下面的示例中,将\makeatletter\makeatother(包括)之间的行复制到文档的序言中。它们定义了您的命令\italiciselist

\documentclass{article}
\makeatletter
\newcommand\italiciselist[1]{%
   \def\il@sep{}%
   \@for\il@gene:=#1\do{%
      \il@sep\textit{\il@gene}%
      \def\il@sep{, }%
   }%
}
\makeatother
\begin{document}
\italiciselist{GeneA,GeneB}, and \textit{GeneC} have been found to have a role in RNA metabolism.
\end{document}

在此处输入图片描述

相关内容