例如我有这样一句话:
已发现 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}