LaTeX میں کراس ریفرنس: \label اور \ref
جس چیز کا حوالہ دینا ہو اس کے فوراً بعد \label{key} رکھیں (\section{...} کے بعد، \caption{...} کے بعد، مساوات کے اندر) اور جہاں اس کا نمبر چاہیے وہاں \ref{key} لکھیں؛ Scissor LaTeX ٹائپ سیٹ کرتے وقت نمبر بھر دیتا ہے۔
پہلے لیبل، پھر حوالہ
کراس ریفرنس کے دو حصے ہوتے ہیں۔ \label{key} کسی نمبر والی چیز پر نشان لگاتا ہے، اور \ref{key} اس کا نمبر چھاپتا ہے۔ کلید کوئی بھی نام ہو سکتا ہے جو آپ چنیں؛ sec:، fig:، tab: اور eq: جیسے سابقے ایک عادت ہیں جو کلیدوں کو پڑھنے کے قابل رکھتی ہے، کوئی اصول نہیں۔
ایک حصے اور ایک شکل کا حوالہ
\section{Results}
\label{sec:results}
\begin{figure}[h]
\centering
\begin{tikzpicture}
\draw (0,0) -- (1,0.8) -- (2,0.3) -- (3,1.1);
\end{tikzpicture}
\caption{Measured values.}
\label{fig:values}
\end{figure}
Section~\ref{sec:results} shows the values in Figure~\ref{fig:values}.لفظ اور حوالے کے درمیان ~ ایک ایسی خالی جگہ ہے جو کبھی نہیں ٹوٹتی، اس لیے "Figure" اور اس کا نمبر ایک ہی سطر پر رہتے ہیں۔
لیبل کہاں رکھیں
لیبل اپنے سے پہلے سب سے قریبی نمبر والی چیز کا نمبر لیتا ہے:
| کس کا حوالہ | \label کہاں رکھیں | \ref کیا چھاپتا ہے |
|---|---|---|
| ایک حصہ | \section{...} (یا \subsection، \chapter) کے فوراً بعد | 2، 2.1 |
| ایک شکل یا جدول | فلوٹ کے اندر، \caption{...} کے بعد | 1 |
| ایک مساوات | equation یا نمبر والے align کے اندر | 1 |
| فہرست کا ایک اندراج | enumerate میں \item کے بعد | 2، 2b |
| ایک تھیورم | theorem، lemma اور ایسے ہی ماحول کے اندر | 1 |
| ایک حاشیہ | \footnote{...} کے متن کے اندر | 2 |
مساواتیں
\eqref{key} مساوات کا نمبر قوسین میں چھاپتا ہے، جیسے مساوات کے نمبر عموماً دکھائے جاتے ہیں۔ \ref{key} صرف نمبر دیتا ہے۔
مساوات کے لیے \eqref اور \ref
\begin{equation}
a^2 + b^2 = c^2
\label{eq:pythagoras}
\end{equation}
Equation~\eqref{eq:pythagoras} is famous; its number is \ref{eq:pythagoras}.Scissor LaTeX میں align یا gather بلاک کو ہر قطار کا الگ نمبر نہیں بلکہ ایک ہی نمبر ملتا ہے۔ بلاک میں صرف پہلا \label رکھا جاتا ہے، اس لیے بعد والی قطار کے لیبل کا حوالہ ?? چھاپتا ہے۔ تفصیل کے لیے دیکھیں مساواتیں، سیدھ اور نمبرنگ۔
نام شامل کرنے والی کمانڈز: \autoref اور \cref
\autoref (hyperref سے) اور \cref (cleveref سے) چیز کی قسم اس کے نمبر کے ساتھ چھاپتے ہیں، اس لیے آپ کو خود "Figure" نہیں لکھنا پڑتا۔ \cref cleveref کی ڈیفالٹ ترتیبات پر چلتا ہے: چھوٹے حروف اور مختصر نام ("fig."، "eq.")، اور جملے کے شروع میں \Cref بڑے حرف والا پورا نام دیتا ہے۔
\autoref، \cref اور \Cref
\section{Method}
\label{sec:method}
\begin{equation}
y = 44x
\label{eq:line}
\end{equation}
\begin{table}[h]
\centering
\caption{Settings.}
\label{tab:settings}
\begin{tabular}{lr} Runs & 44 \\ \end{tabular}
\end{table}
\autoref{sec:method} uses \cref{tab:settings} and \cref{eq:line}.
\Cref{tab:settings} lists the runs.cleveref ایک ساتھ کئی لیبلز اور ایک رینج کا حوالہ بھی دے سکتا ہے:
\cref کے ساتھ فہرستیں اور رینجز
\begin{equation} a = 1 \label{eq:a} \end{equation}
\begin{equation} b = 2 \label{eq:b} \end{equation}
See \cref{eq:a,eq:b}, or \crefrange{eq:a}{eq:b}.پیکج کے آپشنز capitalise (یا capitalize)، noabbrev اور nameinlink پڑھے جاتے ہیں، اور ابتدائیے میں \crefname اور \Crefname بھی۔
cleveref کے آپشنز اور \crefname
\documentclass{article}
\usepackage{amsmath}
\usepackage[capitalise,noabbrev]{cleveref}
\crefname{table}{Tab.}{Tabs.}
\begin{document}
\begin{equation} E = mc^2 \label{eq:e} \end{equation}
\begin{table}[h]
\centering
\caption{Masses.}
\label{tab:m}
\begin{tabular}{l} 44 kg \\ \end{tabular}
\end{table}
\cref{eq:e} uses the mass in \cref{tab:m}.
\end{document}| کمانڈ | Scissor LaTeX میں | نوٹس |
|---|---|---|
\ref{key} | کام کرتا ہے | صرف نمبر۔ |
\eqref{key} | کام کرتا ہے | قوسین میں نمبر۔ |
\pageref{key} | کام کرتا ہے | اس صفحے کا نمبر جہاں لیبل ہے۔ |
\autoref{key} | جزوی طور پر | "Section 2"، "Figure 1"، "Table 1"، "Theorem 1"۔ مساواتوں کے لیے "Equation 1" نہیں بلکہ صرف نمبر چھاپتا ہے۔ |
\cref، \Cref | کام کرتا ہے | ایک یا کئی لیبلز؛ cleveref کے ڈیفالٹ نام، یا \crefname سے آپ کے اپنے۔ |
\crefrange، \cpageref، \namecref | کام کرتا ہے | ایک رینج، صفحہ، یا صرف نام۔ |
\nameref{key} | جزوی طور پر | حصے کا عنوان نہیں بلکہ نمبر چھاپتا ہے۔ |
\vref{key} | جزوی طور پر | "on the next page" کے بغیر نمبر چھاپتا ہے۔ |
\hyperref[key]{text} | کام کرتا ہے | آپ کا متن لیبل کے لنک کے طور پر چھاپتا ہے۔ |
صفحات اور غائب لیبلز
\pageref وہ صفحہ چھاپتا ہے جس پر لیبل ہے۔ جو لیبل موجود نہ ہو اس کا حوالہ بولڈ ?? چھاپتا ہے، بالکل جیسے LaTeX اپنی دوسری رن سے پہلے کرتا ہے، اور مسائل کا ٹیب ہر غائب لیبل ایک بار بتاتا ہے: "References to labels that do not exist (shown as ??): sec:nowhere"۔
\pageref اور ایک غائب لیبل
\section{Data}
\label{sec:data}
The data is described on page~\pageref{sec:data}.
This label does not exist: Section~\ref{sec:nowhere}.مسائل کا ٹیب: References to labels that do not exist (shown as ??): sec:nowhere
TeX انسٹالیشن سے کیا فرق ہے
پیکجز کے لیے دیکھیں cleveref اور hyperref؛ مکمل دستی کتابچے CTAN پر ہیں: cleveref، hyperref۔
سوالات اور جوابات
LaTeX میں میرا حوالہ ?? کیوں دکھاتا ہے؟
لیبل موجود نہیں، یا اس کے ہجے \ref سے مختلف ہیں۔ Scissor LaTeX میں اس کا مطلب یہ بھی ہو سکتا ہے کہ لیبل align بلاک کا دوسرا لیبل ہے، جسے صرف ایک نمبر ملتا ہے۔
مساوات کا حوالہ قوسین کے ساتھ کیسے دوں؟
amsmath کا \eqref{key} استعمال کریں۔ یہ نمبر قوسین میں چھاپتا ہے، مثلاً (1)۔
\ref اور \autoref میں کیا فرق ہے؟
\ref صرف نمبر چھاپتا ہے۔ \autoref قسم بھی ساتھ لگاتا ہے، جیسے "Figure 1" یا "Section 2"، جس سے آپ کو خود لفظ لکھنا نہیں پڑتا۔
اس صفحے کی ہر مثال سائٹ بنتے وقت Scissor LaTeX ٹائپ سیٹ کرتا ہے۔ آخری بار اپ ڈیٹ: 2026-11-07۔