بصورت حتم مشکل از سبکهای bibtex است (در واقع این مشکل ارتباطی با بسته bidi
یا xepersian
ندارد). چنانچه همه مراجع لاتین باشد، سبکهای \ باید تمام \bibitem
ها را داخل محیط latinitems
قرار دهند. این محیط همانند محیط LTRitems
عمل میکند منتها به جای استفاده از قلم جاری، از قلم لاتین استفاده میکند.
مشکل دیگری که با سبک bibtex ایشان وجود دارد این است که این سبک هنوز از دستورات لاتک 2.09
که بیست سالی منسوخ شده است، استفاده میکند. اگر فایل .bbl
را باز کنید، دستورات sc
و \em
را میبینید. این دستورات منسوخ شده است و باید از معادل آنها در لاتک 2e
استفاده کرد. به عنوان مثال، به جای دستور \sc
باید از دستور \scshape
استفاده کرد. این در واقع دلیل مشکلی است که شما بیان کردید:
... کاما ها برعکس هستند و نام نویسنده هم درست نوشته نمیشود.
در واقع اگر بصورت دستی \sc
را به \scshape
درست کنید، مشکلی وجود نخواهد داشت.
بنابراین بهترین راه و عاقلانهترین راه، بازنویسی این سبکهای bibtex است تا مشکلاتی را که در بالا گفته شد، رفع کنند.
هرچند اگر به دنبال راهحل موقتی و سریع هستید کد زیر این مشکل را برطرف میکند اما پیشنهاد نمیشود:
\documentclass{report}
\usepackage{xepersian}
\settextfont{Yas}
\makeatletter
\bidi@patchcmd{\thebibliography}
{\chapter*{\bibname}}
{\chapter*{\bibname}\resetlatinfont}
{\typeout{We succeeded in redefining `thebibliography' environment}}
{\typeout{We failed in redefining `thebibliography' environment}}
\makeatother
\begin{document}
لطفاً \cite{arhangel1995submaximal} را نمایش بده.
\setLTRbibitems
\bibliographystyle{acm}
\bibliography{testing_references}
\end{document}
در ضمن همانطوری که در نمونه من میبینید، فایل شما کمینه نبود که من قسمتهای زاید آن را حذف کردهام. لطفاً در آینده فقط و فقط فایل کمینه قرار دهید. من علاقهای به دیدن کل فایل شما ندارم!