软件包列表扰乱了表格编号

软件包列表扰乱了表格编号

我在用波斯语写书,\usepackage{listing}在序言中使用 来将源代码包含在附录中。但是,每当我在正文中引用表格或图片时,出现的表格/图片编号与表格/图片编号本身的顺序不同。例如,正文显示了对表 5.2 的引用,但表格在其标题中被编号为 2,5。一旦我删除\usepackage{listing},一切都会好起来。我使用 TeXLive 和 Texstudio。

示例代码:

\documentclass{book}
\usepackage{listings}
\usepackage{makeidx}
\makeindex
\usepackage{textgreek}
\usepackage{longtable,ltxtable}
\usepackage[toc,page]{appendix}
\usepackage[table]{xcolor}
\usepackage{pdflscape}
\usepackage{adjustbox}
\usepackage{rotating,tabularx}
\usepackage[bottom,hang]{footmisc}% These two lines set the space between footnote number and text
\setlength{\footnotemargin}{1em}
\makeatletter%To get latin numbers for LTR footnotes and Persian numbers for Persian RTL footnotes
\def\@makeLTRfnmark{\hbox{\@textsuperscript{\latinfont\@thefnmark}}}
\renewcommand\@makefntext[1]{%
\parindent 1em%
\noindent
\hb@[email protected]{\hss\if@RTL\@makefnmark\else\@makeLTRfnmark\fi}#1}
\makeatother
\usepackage{microtype}%To prevent \cite to spill over the margin
\linespread{1.7}
\setcounter{secnumdepth}{5} %to have subsubsections numbered
\usepackage{chngcntr}
\usepackage{placeins} %This package and the following block of codes ensure that figures stay in their respective subsection
\makeatletter
\AtBeginDocument{%
\expandafter\renewcommand\expandafter\subsection\expandafter
{\expandafter\@fb@secFB\subsection}%
\newcommand\@fb@secFB{\FloatBarrier
    \gdef\@fb@afterHHook{\@fb@topbarrier \gdef\@fb@afterHHook{}}}%
\g@addto@macro\@afterheading{\@fb@afterHHook}%
\gdef\@fb@afterHHook{}%
}
\makeatother
\usepackage[a4paper]{geometry}
\geometry{tmargin=3cm,bmargin=3cm,lmargin=3cm,rmargin=3cm}
\widowpenalty10000
\clubpenalty10000
\usepackage[toc,page]{appendix}
\usepackage[colorlinks,citecolor=blue]{hyperref}
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{textcomp}
\usepackage{multirow}
\usepackage{natbib}
\usepackage{tikz}
\usepackage{graphicx}
\usepackage{afterpage}
\usepackage{subcaption}
\usepackage{eurosym}
\usepackage[affil-it]{authblk}
\usepackage{amsthm}
\usepackage{amsfonts}
\usepackage[utf8]{inputenc}
\usepackage{booktabs,fixltx2e}
\usepackage[font=small,labelfont=bf]{caption}
\usepackage{epstopdf}
\usepackage{mathtools}
\setcounter{MaxMatrixCols}{10}
\usepackage{fancyhdr}
\usepackage[nottoc]{tocbibind}
\usepackage{emptypage}
\usepackage{float}
\floatstyle{boxed}
\usetikzlibrary{decorations.pathreplacing}
\usetikzlibrary{decorations.pathmorphing, patterns,shapes}
\providecommand{\U}[1]{\protect\rule{.1in}{.1in}}
\newtheorem{proposition}{پروپوزیشن}
\newtheorem{lemma}{لم}
\newtheorem{assumption}{فرض}
\newtheorem{definition}{تعریف}
\newtheorem{corollary}{نتیجه‌گیری}
\numberwithin{proposition}{chapter}
\numberwithin{lemma}{chapter}
\numberwithin{assumption}{chapter}
\numberwithin{definition}{chapter}
\numberwithin{corollary}{chapter}
\renewcommand\bibname{مراجع}
\usepackage[extrafootnotefeatures]{xepersian}
\settextfont[Scale=1.3]{Yas} % Persian default font for the text
\setlatintextfont[Scale=1.3]{Times New Roman} % Latin default font for the text
\setdigitfont[Scale=1.3]{Yas} % Number's font
\defpersianfont\mynewfont[Scale=1.3]{XB Niloofar} % define new Persian font
\defpersianfont\mynewfontenglish[Scale=1.4]{Arial} % define new Latin font
\begin{document}
\chapter{فصل اول}
اینجا چیزی نمی‌نویسیم تا شماره جدول در فصل بعد با شماره فصل متفاوت باشد.
\chapter{فصل دوم}
در این فصل یک جدول را امتحان می‌کنیم. نمونه آن جدول \ref{table} است.
\begin{table}
    \caption{جدول بلند}
    \begin{tabular}{p{0.2\linewidth} p{0.35\linewidth} p{0.05\linewidth} 
p{0.2\linewidth}}
        \hline نام متغیر & مرجع & تواتر & دوره زمانی
        \\ \hline 
        اول & دوم & سوم & چهارم \\                      
        \hline
        \label{table}
    \end{tabular}
\end{table}
\end{document}

答案1

我没有遇到你说的问题。我的输出如下:

在此处输入图片描述

也许您应该更新您的bidixepersian包。

相关内容