مواد پر جائیں

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}.
Scissor LaTeX نے ٹائپ سیٹ کیا: ایک حصے اور ایک شکل کا حوالہ

لفظ اور حوالے کے درمیان ~ ایک ایسی خالی جگہ ہے جو کبھی نہیں ٹوٹتی، اس لیے "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

LaTeXابتدائیہ: \usepackage{amsmath}ایڈیٹر میں کھولیں (نئے ٹیب میں کھلتا ہے)
\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

LaTeXابتدائیہ: \usepackage{amsmath,hyperref,cleveref}ایڈیٹر میں کھولیں (نئے ٹیب میں کھلتا ہے)
\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.
Scissor LaTeX نے ٹائپ سیٹ کیا: \autoref، \cref اور \Cref

cleveref ایک ساتھ کئی لیبلز اور ایک رینج کا حوالہ بھی دے سکتا ہے:

\cref کے ساتھ فہرستیں اور رینجز

LaTeXابتدائیہ: \usepackage{amsmath,cleveref}ایڈیٹر میں کھولیں (نئے ٹیب میں کھلتا ہے)
\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 نے ٹائپ سیٹ کیا: cleveref کے آپشنز اور \crefname
کمانڈ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۔