有没有办法让\Cref
命令与 xepersian 包一起工作。例如,在下面的代码中,定理的名称没有显示出来\cref
;只是显示了数字,就像这样\ref
。
\documentclass{book}
\usepackage{cleveref}
\usepackage{xepersian}
\newtheorem{theorem}{قضیه}
\begin{document}
\begin{theorem}\label{ss}
مم
\end{theorem}
طبق
\cref{ss}.
\end{document}
答案1
您必须使用以下结构进行更改and
:
\newcommand{\crefpairconjunction}{\,و\,}
而且您还必须使用以下结构进行更改 to
:
\newcommand{\crefrangeconjunction}{\,تا\,}
并且您还必须使用以下结构来定义定理(theorems)和通知(notices):
\crefname{thmx}{قضیهی}{قضیههای}
\crefname{thmy}{توجه}{توجههای}
请参阅以下结构:
\documentclass{book}
\usepackage[pagebackref=false,colorlinks,linkcolor=blue,citecolor=magenta]{hyperref}
\usepackage{cleveref}
\usepackage[logo=on,fontsize={14,18},%
inlinemathdigits=persian,%
displaymathdigits=persian%
]{xepersian}
\settextfont[Scale=1.1]{XB Niloofar}
\settextdigitfont[Scale=1.1]{Yas}
\setmathdigitfont[Scale=1]{PGaramond}
\makeatletter
\newtheorem{thmx}{قضیه}
\renewcommand{\thethmx}{\thechapter \@SepMark\arabic{thmx}}
\newtheorem{thmy}{توجه}\renewcommand{\thethmy}{\thechapter\@SepMark\arabic{thmy}}
\makeatother
\crefname{thmx}{قضیهی}{قضیههای}
\crefname{thmy}{توجه}{توجههای}
\newcommand{\crefrangeconjunction}{\,تا\,}
\newcommand{\crefpairconjunction}{\,و\,}
\begin{document}
\chapter{یک}
\section{اولی}
\begin{thmx}\label{ss}\normalfont
اگر داشته باشیم
$a^2+b^2=c^2$
آنگاه
$\angle C=90^\circ$
\end{thmx}
\section{دومی}
\begin{thmx}\label{sd}
اگر داشته باشیم
$a^2+b^2=c^2$
آنگاه
$\angle C=90^\circ$
\end{thmx}
\begin{thmx}\label{sy}
اگر داشته باشیم
$a^2+b^2=c^2$
آنگاه
$\angle C=90^\circ$
\end{thmx}
\begin{thmy}\label{sr}
اگر داشته باشیم
$\angle C=90^\circ$
آنگاه
$a^2+b^2=c^2$
\end{thmy}
\begin{thmy}\label{sk}
اگر داشته باشیم
$\angle C=90^\circ$
آنگاه
$a^2+b^2=c^2$
\end{thmy}
طبق
\cref{ss}
داریم:\\
طبق
\cref{ss,sd}
داریم:\\
یا طبق
\cref{ss,sd,sy}
داریم:\\
طبق
\cref{sr}
داریم:\\
یا طبق
\cref{sr,sk}
داریم:\\
\end{document}
You will have this output:
祝你好运。