我总是在 latex 文档的序言中包含以下命令,以确保我在文本中始终引用浮点数。我想知道社区对此有什么看法,这是一个好主意还是坏主意,或者是否有一个包可以复制此功能?
\newcommand{\figref}[1]{Figure~\ref{fig:#1}}
\newcommand{\figsref}[2]{Figures~\ref{fig:#1}~and~\ref{fig:#2}}
\newcommand{\figtoref}[2]{Figures~\ref{fig:#1}~through~\ref{fig:#2}}
\newcommand{\tblref}[1]{Table~\ref{tbl:#1}}
\newcommand{\eref}[1]{Equation~\ref{eqn:#1}}
\newcommand{\esref}[2]{Equations~\ref{eqn:#1}~and~\ref{eqn:#2}}
\newcommand{\etoref}[2]{Equations~\ref{eqn:#1}~through~\ref{eqn:#2}}
\newcommand{\secref}[1]{Section~\ref{sec:#1}}
\newcommand{\charef}[1]{Chapter~\ref{cha:#1}}
\newcommand{\aref}[1]{Appendix~\ref{apndx:#1}}
此外,我的主管坚持要求所有拉丁语表达都用斜体表示,这样可以节省我的打字时间。
\newcommand{\etal}{\mbox{\emph{et al.\ }}}
\newcommand{\ie}{\mbox{\emph{i. e.\ }}}
\newcommand{\etals}{\mbox{\emph{et al.\ }'s }}
答案1
正如评论中提到的那样,cleveref
软件包为您提供了额外的命令:
\cref{<key>}
将扩展为figure~\ref{<key>}
,table~\ref{<key>}
,equation~\eqref{<key>}
具体取决于您所指的内容。\Cref{<key>}
在句子开头大写。(如果您喜欢这种风格,有一个包选项可以将每个“图片”、“表格”等大写。\Cref
仅在句子开头使用。)\cref{eq2,eq1,eq3,eq5,thm2,def1}
产生:eqs.~(1) to~(3) and~(5), theorem~5, and definition~1
。[摘自包装手册]\crefrange{eq1}{eq5}
给出eqs.~(1) to~(5)
。[摘自包装手册]\cpageref
如果您需要引用多个页面,它也会派上用场。\namecref
- 它与 配合得很好
babel
。 - 它确实适用于
varioref
(它会侵入的varioref
命令,以便您可以像 等一样使用它\vref
)和hyperref
如果按订单装载varioref
hyperref
cleveref
关于你问题的第二部分,我建议“\emph 或 \textit“。
您也可以看看xspace
。
\documentclass{article}
\usepackage{xspace}
% Choose one of the two follwing:
\newcommand{\latinphrase}[1]{\textit{#1}} % always italic
% \newcommand{\latinphrase}[1]{\emph{#1}} % italic in roman text, upshaped in italicized text
\newcommand{\etal}{\latinphrase{et~al.}\xspace}
\newcommand{\ie}{\latinphrase{i.e.}\xspace}
\newcommand{\etals}{\latinphrase{et~al.}'s\xspace}
\begin{document}\noindent
\emph{This is \emph{very} important.} -- \emph{This is \textit{very} important}\\
\emph{You better read Knuth's books, \ie ``The \TeX book''.}\\
\emph{Read Knuth \emph{et amici.}} -- \emph{Read Knuth \latinphrase{et amici.}}
\end{document}