如何使参考标签以大写字母开头?

如何使参考标签以大写字母开头?

我的文档中有以下几行:

In \secref{2}, a very basic review is presented. \secref{3} compares different structures.

\secref{3}必须以大写字母开头。但是,LaTeX 会以普通标签“section”(小写“s”)开头。

我该如何纠正这个问题?

PS:它不需要是自动的。任何特定的(手动)解决方案对我来说都可以。

答案1

(在我从 OP 那里得知该命令在 lyx 中使用后进行了编辑。)

\newcommand

最简单的解决方案可能是定义一个\Secref以大写字母 S 开头的新命令,如下所示

\newcommand{\Secref}[1]{Section~\ref{#1}} 

这样,如果您需要名词的大写形式,则可以从 切换\secref\Secref

\cleveref

如果您愿意使用该cleveref包,您可以使用该命令\cref{2}来生成Section 2

通过输入\cref{2,3}您将生成Sections 2 and 3
笔记第二个例子中名词复数形式的自动使用。Cleveref 的命令足够“聪明”(双关语),可以决定交叉引用实体的类型,然后命令选择与其相匹配的名词。

名词的形式(例如,大写小写) 作为引用实体的前缀是完全可定制的。

并且,如果您使用babel,名词将被设置为(当前)六种或七种语言中的任何一种,也就是说,您不会“仅仅局限于”英语名词。

最后,如果你愿意的话,你可以设置包以便\cref使用小写起始字母,而\Cref将使用大写起始字母(在以交叉引用开始一个句子时很有用)。

这些示例假设您已为论文的第 2 和第 3 节指定了标签23。一般来说,您可能希望养成使用稍长标签字符串的习惯。一种常用的技巧是所有公式标签都以 开头eq:,所有 (sub,subsub) 节标签都以 开头sec:,所有图形标签都以 开头fig:,等等。即使没有其他方法,以这种方式使用标签也会为您节省大量时间,因为以后需要调试某些交叉引用时会遇到这种情况。

答案2

LyX 使用refstyle用于格式化交叉引用的包。refstyle支持大写宏版本,例如\Secref用于句子开头。我不知道 LyX 是否具有\Secref& friends 的界面——如果没有,请将命令插入为“邪恶的红色文本”(LaTeX 代码)。

对于不依赖 LyX 的用户:cleveref包还具有大写的宏版本,并且其\cref/\Cref宏能够自动检测标签类型并相应地格式化交叉引用。

\documentclass{article}

\usepackage{cleveref}

\begin{document}

\section{bla}\label{1}

In \cref{2}, a very basic review is presented. \Cref{3} compares different structures.

\section{blubb}\label{2}

\section{foo}\label{3}

\end{document}

相关内容