自动将每个列表 \item 中的第一个单词大写?

自动将每个列表 \item 中的第一个单词大写?

我正在写一篇涉及外来词和大量变音符号的论文。为了解决这个问题,我创建了一系列宏,这样如果我输入 \wufen,它就会显示为“五分“。通常这是在句子中间,所以没问题。然而,在少数情况下,我得到了以下结果:

\begin{enumerate}
    \item \wufen something something
    \item Something \wufen something...
\end{enumerate}

有没有办法强制\items 始终将首字母大写?我希望看到上述结果:


五分某某

• 某物五分某物...


这可能吗?

我对 LaTeX 还比较陌生,所以如果这个问题问得不好,我深表歉意。老实说,我不太清楚自己应该搜索什么,尽管过去的尝试还没有产生任何结果。

答案1

总是发布完整的文档,而不仅仅是片段。

在此处输入图片描述

此时 TeX 处于垂直模式,因此您可以执行以下操作:

\documentclass{article}

\newcommand\wufen{\ifvmode W\else w\fi ufen}

\begin{document}

\begin{enumerate}
    \item \wufen\ something something
    \item Something \wufen\ something...
\end{enumerate}

\end{document}

答案2

\capitalize我个人会按照评论中的建议使用大写版本的宏。但是,如果您想自动执行此操作,可以使用包中的命令stringstrings

梅威瑟:

\documentclass{article}

\usepackage{stringstrings}
\newcommand{\citem}{\item \capitalize}

\newcommand{\abc}{abcdefghijklmnopqrstuvwxyz} % A simple macro

\begin{document}

\begin{enumerate}
    \item Abc % for comparison
    \citem abc % capitalize 
    \citem Abc % no effect if already capitalized
    \citem \abc % works for simple macros
\end{enumerate}

\end{document

相关内容