这些交叉引用和代码宏是什么意思?

这些交叉引用和代码宏是什么意思?

我在编辑器中搜索,发现了一些我从未使用过的模板,我只是想知道它们到底是什么意思,有什么作用。如果您有更好的建议,可以编辑标题。

%%Definitions for Figure-References
\newcommand{\fig}[1]{(figure \ref{#1})}
\newcommand{\FIG}[1]{figure \ref{#1}}

%%Definitions for Table-References
\newcommand{\tab}[1]{(table \ref{#1})}
\newcommand{\TAB}[1]{table \ref{#1}}

%%Definitions for Page-References
\newcommand{\page}[1]{(page \pageref{#1})}
\newcommand{\PAGE}[1]{page \pageref{#1}}

%%Definitions for Code
\newcommand{\precode}[1]{\textbf{\footnotesize #1}}
\newcommand{\code}[1]{\texttt{\footnotesize #1}}

答案1

它们只是用于进行交叉引用和代码片段标记的宏。定义此类宏是一种很好的做法,因为您可以在一个地方修改宏定义,并且更改将在整个文档中生效。

以下代码向您展示了它们的用途。您会明白的!

\documentclass{article}

%%Definitions for Figure-References
\newcommand\fig[1]{figure~\ref{#1}}


%%Definitions for Table-References
\newcommand\tab[1]{table~\ref{#1}}


%%Definitions for Page-References
\newcommand\page[1]{page~\pageref{#1}}


%%Definitions for Code
\newcommand\precode[1]{\textbf{\footnotesize #1}}
\newcommand\code[1]{\texttt{\footnotesize #1}}

\usepackage{lipsum}
\usepackage[demo]{graphicx}
\usepackage[colorlinks]{hyperref}

\begin{document}
\section{Introduction}\label{sec:Inroduction}
\lipsum[1]
\begin{figure}[hbtp]
\centering
\includegraphics[width=0.5\linewidth]{cat}
\caption{This is a cat.}
\label{fig:cat}
\end{figure}
\lipsum[2-10]
For the detail see \fig{fig:cat} on \page{fig:cat}.

\begin{table}[hbtp]
\centering
\begin{tabular}{|c|c|}\hline
a & b \\\hline
c & d \\\hline
\end{tabular}
\caption{This is a table, not a desk!}
\label{tab:Schedule}
\end{table}
\lipsum[11-20]
See \tab{tab:Schedule} on \page{tab:Schedule} for the detailed explanation.

You can type \code{var a = b - c;} in the source editor.
\end{document}

笔记:

  1. 如果宏的作用相同,则无需通过大写来重载宏。定义 { \tab\TAB\TaB等} 之一就足够了。
  2. 对于印刷文档,我们通常将图表/表格参考与页码一起打印。因此,您可以按如下方式组合图表-页面和表格-页面。

    \newcommand\tabpage[1]{Table~\ref{#1} on page~\pageref{#1}}
    

    或者

    \newcommand\figpage[1]{Figure~\ref{#1} on page~\pageref{#1}}
    

答案2

它们是不正确的。应该是:

%%Definitions for Figure-References
\newcommand{\fig}[1]{(Figure~\ref{#1})}
\newcommand{\FIG}[1]{Figure~\ref{#1}}

%%Definitions for Table-References
\newcommand{\tab}[1]{(Table~\ref{#1})}
\newcommand{\TAB}[1]{Table~\ref{#1}}

%%Definitions for Page-References
\newcommand{\page}[1]{(page~\pageref{#1})}
\newcommand{\PAGE}[1]{page~\pageref{#1}}

%%Definitions for Code
\newcommand{\precode}[1]{\textbf{\footnotesize #1}}
\newcommand{\code}[1]{\texttt{\footnotesize #1}}

不允许~在单词和引用之间换行。它们都节省了一些击键,您可以说as seen in \fig{fig_label}。表和页面也是如此。小写变体将此引用放入(...) 最后两个只是排版预编码的缩写,粗体字体和打字机字体的代码,均采用脚注大小

相关内容