انتقل إلى المحتوى

cleveref وnameref وvarioref في Scissor LaTeX

تعمل حزمة cleveref في معظمها في Scissor LaTeX: يعمل \cref و\Cref مع العلامات المفردة والقوائم والمجالات، ومعهما \cpageref و\namecref والخيارات capitalise وnoabbrev وnameinlink، و\crefname؛ أما \nameref فيطبع رقمًا بدلًا من العنوان، ولا يعطي \vref أي إشارة إلى الصفحة.

ماذا تفعل الحزم

تضيف cleveref نوع العنصر إلى الإحالة: يطبع \cref{fig:plot} "fig. 1" دون أن تكتب الكلمة بنفسك، ويجمع \cref{a,b} عدة علامات في "figs. 1 and 2". وتطبع nameref عنوان القسم بدلًا من رقمه. وتضيف varioref إشارات إلى الصفحة مثل "on the next page" باستخدام \vref.

ما الذي يعمل هنا

الأمرفي Scissor LaTeXملاحظات
\cref{label}يعمل"section 1" و"fig. 1" و"table 1" و"eq. (1)".
\Cref{label}يعملبحرف أول كبير ودون اختصارات: "Figure 1" و"Equation (1)".
\cref{a,b}, \cref{a,b,c}يعمل"sections 1 and 2".
\crefrange{a}{b}يعمل"eqs. (1) to (2)".
\cpageref{label}يعمل"page 1".
\namecref{label}, \labelcref{label}يعملالاسم وحده ("eq.") أو الرقم وحده ("(1)").
\crefname, \Crefnameيعملأسماؤك الخاصة، في الديباجة.
الخيارات capitalise وnoabbrev وnameinlinkيعملتُتجاهل الخيارات الأخرى.
\nameref{label} (nameref)جزئيًايطبع الرقم، لا العنوان.
\vref, \Vref (varioref)جزئيًايطبع الرقم، دون إشارة إلى الصفحة.

أمثلة

يسمّي \cref نوع العنصر نيابةً عنك، ويجمع عدة علامات:

\cref و\Cref

\section{Data}\label{sec:data}
\section{Method}\label{sec:method}
\begin{figure}[h]
  \centering
  \fbox{A plot of the 44 samples}
  \caption{Samples.}\label{fig:samples}
\end{figure}
\begin{table}[h]
  \centering
  \begin{tabular}{lr} Erika & 44 \\ Hans & 38 \\ \end{tabular}
  \caption{Counts.}\label{tab:counts}
\end{table}
As \cref{sec:data,sec:method} explain, \cref{fig:samples} shows
the samples. \Cref{tab:counts} counts them.
نضّده Scissor LaTeX: \cref و\Cref

المعادلات والمجالات والإحالات إلى الصفحات:

المعادلات و\crefrange و\cpageref

LaTeXالديباجة: \usepackage{amsmath,cleveref}افتح في المحرر (يُفتح في علامة تبويب جديدة)
\begin{equation} a + b = 44 \label{eq:sum} \end{equation}
\begin{equation} a - b = 2 \label{eq:diff} \end{equation}
Adding \crefrange{eq:sum}{eq:diff} gives $a = 23$; \Cref{eq:sum}
is on \cpageref{eq:sum}.
نضّده Scissor LaTeX: المعادلات و\crefrange و\cpageref

يكتب الخياران capitalise وnoabbrev الأسماء كاملة وبحرف أول كبير في كل مكان، ويحدّد \crefname أسماءك الخاصة. ومع capitalise يستخدم \cref الشكل ذا الحرف الأول الكبير من اسمك، لذا يُطبع part أدناه "Part":

الخيارات و\crefname

\documentclass{article}
\usepackage[capitalise,noabbrev]{cleveref}
\crefname{section}{part}{parts}
\begin{document}
\section{Overview}\label{sec:overview}
\begin{figure}[h]
  \centering
  \fbox{Diagram}
  \caption{A diagram.}\label{fig:diagram}
\end{figure}
\cref{fig:diagram} belongs to \cref{sec:overview}.
\end{document}

يطبع \nameref هنا رقم القسم، لا عنوانه:

\nameref يطبع رقمًا

\section{Related work}\label{sec:related}
John Doe's results are summarised in \nameref{sec:related}.

التوافق

  • من تثبيت TeX إلى هنا: تبدو الإحالات باستخدام \cref وأخواته كما تبدو في تثبيت TeX. ويعطي \nameref رقمًا بدلًا من العنوان، ولا يحمل \vref إشارة "on the next page".
  • من هنا إلى تثبيت TeX: تُترجَم المستندات هناك دون تغيير. حمّل cleveref بعد hyperref، كما يطلب دليلها.

الأدلة الكاملة موجودة على CTAN: ctan.org/pkg/cleveref وctan.org/pkg/nameref وctan.org/pkg/varioref. وللاطلاع على دليل، راجع التسميات والإحالات المرجعية، ولـ \autoref راجع hyperref.

أسئلة وأجوبة

ما الفرق بين \cref و\Cref؟

يستخدم \cref أسماء قصيرة بأحرف صغيرة مثل "fig. 1" أو "eq. (1)". أما \Cref فيكتبها كاملة بحرف أول كبير، لبداية الجملة. ويجعل الخيار capitalise الأمر \cref يتصرف مثل \Cref في كل مكان.

هل يطبع \nameref عنوان القسم؟

ليس بعد. يطبع رقم القسم، فتبقى الجملة مفهومة لكن بصيغة مختلفة. اكتب العنوان بنفسك إن كان مهمًا.

كل مثال في هذه الصفحة ينضّده Scissor LaTeX عند بناء الموقع. آخر تحديث: 2026-11-07.