关于LaTex输入大写罗马字母的命令——\expandafter的理解与\MakeUppercase的使用

本文探讨了在LaTeX中使用MakeUppercase与uppercase命令进行大小写转换的方法,特别是将罗马数字转换为大写形式的过程。通过对expandafter命令的解析,加深了对LaTeX文本格式化机制的理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

提到的连接:

1. http://www.latexstudio.net/archives/9924.html

2. https://tex.stackexchange.com/questions/64020/how-to-know-whether-or-not-we-need-expandafter/64033

        在输入过程中发现需要用到大写罗马数字。虽然英文符号可以表示,但还是好奇LaTex是否有单独的命令输出罗马字符。截止到目前,从百度搜索到的多数方法都是以“\uppercase\expandafter{\romannumeral数字}”的形式。其他关键词比较容易理解,除了对中间的\expandafter有些疑惑,于是进一步查了一下。

        第一条讲了\expandafter这个关键词的用法,看完以后我的理解就是,这个词相当于是先保留紧挨着它前面的1个关键词,不解析这个关键词,当把其他的关键词解析完后,再用这个关键词对一次解析文本进行二次解析。(好啰嗦(´ο`))

        第二条似乎是跟定义新函数有关的操作,没有太理解,不过感觉跟我想要弄清的东西关系不太大,因此先跳过。

        其他的几乎是清一色的“LaTex如何输入大写罗马字母”。看来\expandafter

        后面又查了TexStudio自带的常用关键词解释帮助文件,里面没有\expandafter的词条。不过意外发现了这个词出现在了“大小写转换”的条目当中。于是又认真看了一下大小写转换的解释,发现了一个似乎更好用的关键词,也就是题目当中提到的“\MakeUppercase”。也算是有所收获了哈哈。

下面是简单的翻译:

23.2 大写和小写

语法:

\uppercase{文本}
\lowercase{文本}
\MakeUppercase{文本}
\MakeLowercase{文本}

用于对大小写进行转换。TeX的原始命令 \uppercase 与 \lowercase 仅能够更改美语字符(原文American characters,估计主要就是52个英文字母了)。而LaTeX的命令 \MakeUppercase 与 \MakeLowercase除上述功能外还可以更改通过诸如 \ae 或 \aa这样由命令访问的字符。\MakeUppercase 与 \MakeLowercase 的鲁棒性强(原文:robust,印象中好像有书里提到过“鲁棒性”这个词) 但他们有 moving arguments(行进参数?看 \protect 提到这种参数是属于LaTex自己展开,不需要设定的参数)

这么说来似乎直接用\MakeUppercase 就行了。简单试了一下:

\documentclass[10pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{graphicx}
\begin{document}
	\MakeUppercase{\romannumeral1}\\
	\MakeUppercase{\romannumeral3}\\
	\MakeUppercase{\romannumeral4}\\
	\MakeUppercase{\romannumeral8}\\
	\MakeUppercase{\romannumeral3468}
\end{document}

输出结果均为大写

    I
III
IV
VIII
MMMCDLXVIII
 

 但是回到自己的文章里,虽然编译没有提示出错,但是依然是小写。不明白是什么原因造成的。希望高手能够指点一二。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值