![引用自定义文本而不是数字或作者姓名(Latex)](https://linux22.com/image/334788/%E5%BC%95%E7%94%A8%E8%87%AA%E5%AE%9A%E4%B9%89%E6%96%87%E6%9C%AC%E8%80%8C%E4%B8%8D%E6%98%AF%E6%95%B0%E5%AD%97%E6%88%96%E4%BD%9C%E8%80%85%E5%A7%93%E5%90%8D%EF%BC%88Latex%EF%BC%89.png)
我的朋友正在用波斯语写一篇数学论文。他想引用参考文献,其中有作者姓名和年份,但用波斯语,而参考文献(在论文末尾)都是英文。有什么办法吗?请帮忙,因为我搜索过,没有找到任何东西。
这是他的论文的命令块:
\usepackage[top=45mm, bottom=45mm, left=45mm, right=45mm]{geometry}
\usepackage{amsthm,amssymb,amsmath}
\usepackage{bbm, mathrsfs}
\usepackage{fancybox}
\usepackage{makeidx}
\usepackage{fancyhdr}
\usepackage{graphicx}
\usepackage{caption}
\usepackage{subcaption}
\usepackage[all]{xy}
\usepackage{setspace}
\graphicspath{{images/}}
\usepackage{subfigure}
\usepackage[pagebackref=false]{hyperref}
\makeindex
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{xepersian}
\settextfont[Scale=1.1]{XB Niloofar}
\linespread{1.50}
\setlatintextfont[Scale=1.1]{XB Niloofar}
\setdigitfont[Scale=1.1]{XB Zar}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\defpersianfont\nastaliq[Scale=2]{IranNastaliq}
\defpersianfont\titr[Scale=1.1]{XB Titre}
\defpersianfont\traffic[Scale=1.1]{B Traffic}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcommand\englishgloss[2]{#2\dotfill\lr{#1}\\}
\newcommand\persiangloss[2]{#1\dotfill\lr{#2}\\}
\renewcommand\proofname{\textbf{برهان}}
\renewcommand{\bibname}{مراجع}
%%%%%%%%%%%%%%%%%%%%%%%
\theoremstyle{definition}
\newtheorem{theorem}{قضیه}[chapter]
\newtheorem{lemma}{لم}[chapter]
\newtheorem{definition}{تعریف}[chapter]
\newtheorem{proposition}{گزاره}[chapter]
\newtheorem{corollary}{نتیجه}[chapter]
\newtheorem{mol}{ملاحظه}[chapter]
\newtheorem{example}{مثال}[chapter]
\newtheorem{nama}{نمادگذاری}[chapter]
\newtheorem{hint}{تذکر}[chapter]
\newtheorem{remark}{توجه}[chapter]
\newtheorem{reminder}{یادآوری}[chapter]
%%%%%%%%%%
%\renewcommand{\abstractname}{}
%\renewcommand{\latinabstract}{}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\pagestyle{fancy}
\cfoot{}
\lhead{\thepage}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%\newenvironment{fminipage}%
%{\begin{Sbox}\begin{minipage}}%
%{\end{minipage}
%\end{Sbox}\fbox{\TheSbox}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%\input{jeld_infomation}
答案1
您的朋友是否使用 BibTeX、biblatex 或其他工具来创建参考书目?
如果他使用 BibTeX 和纳特比布引文管理包,他可以为引文标注创建“别名”:使用\defcitealias{key}{<farsi text string>}
设置别名,使用\citetalias{key}
和\citepalias{key}
使用波斯语文本字符串生成引文标注。这里,key
是相关书目条目的“关键”。
附录:根据您的后续评论,您的同事似乎是手动构建参考书目,即没有使用 BibTeX 或 biblatex 等工具。此外,由于该\bibitem
指令没有可选参数,因此默认的引文标注样式似乎是数字而不是作者年份。
我建议您的同事按如下方式进行:
他应该
natbib
使用该选项来加载该包numbers
。对于每一个
\bibitem
,提供一个\defcitealias
指令,如下例所示。要创建这些 bib 条目的引用标注,请使用
\citetalias{...}
和\citepalias{...}
指令。
恐怕我不知道如何使用波斯字母。因此,以下示例仅使用拉丁字母。希望能够清楚如何将代码扩展到波斯字母的情况。
\documentclass{report}
\usepackage[numbers]{natbib}
\defcitealias{Atkinson}{SomeLongStringUsingPersianLetters}
\begin{document}
\cite{Atkinson} % numeric citation call-out
\citetalias{Atkinson} % plain string (no brackets)
\citepalias{Atkinson} % string surrounded by brackets
\begin{thebibliography}{99}
\bibitem{Atkinson} Atkinson A.C., (1994). Fast very robust
methods for the detection of multiple outliers, {\it
American Statistical Association.} 89, 1329--1339.
\end{thebibliography}
\end{document}