diff options
author | Norbert Preining <norbert@preining.info> | 2023-12-16 03:01:40 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2023-12-16 03:01:40 +0000 |
commit | cf11d08f6fe4d61a3da648d820601e3fca67d8d4 (patch) | |
tree | 2eea226ec62bd73e49dce85df85c093393d58af3 /biblio/bibtex | |
parent | 9dd4909414ccbc438a2c6276bf642904d6036891 (diff) |
CTAN sync 202312160301
Diffstat (limited to 'biblio/bibtex')
-rw-r--r-- | biblio/bibtex/contrib/iran-bibtex/README.md | 9 | ||||
-rw-r--r-- | biblio/bibtex/contrib/iran-bibtex/iran-bibtex.sty | 22 | ||||
-rw-r--r-- | biblio/bibtex/contrib/iran-bibtex/iran-structure.pdf | bin | 61876 -> 84467 bytes | |||
-rw-r--r-- | biblio/bibtex/contrib/iran-bibtex/iran-structure.tex | 416 | ||||
-rw-r--r-- | biblio/bibtex/contrib/iran-bibtex/iran.bst | 1876 |
5 files changed, 1940 insertions, 383 deletions
diff --git a/biblio/bibtex/contrib/iran-bibtex/README.md b/biblio/bibtex/contrib/iran-bibtex/README.md index 9acac96926..920d077369 100644 --- a/biblio/bibtex/contrib/iran-bibtex/README.md +++ b/biblio/bibtex/contrib/iran-bibtex/README.md @@ -27,6 +27,15 @@ If you want to report any bugs or issues, please use [the issue tracker](https:/ ## Change log First version release date: 2023/12/12. +Current version release date: 2023/12/15. + +v0.2.0 (2023/12/15) + 1. Made some improvements + 2. Support `@article` entry was also added + 3. Support `@incollection` entry was also added + 4. Support `@proceedings` entry was also added + 5. Support `@inproceedings` entry was also added + 6. Support `@conference` entry was also added v0.1.0 (2023/12/12) 1. First release on CTAN, and GitHub. diff --git a/biblio/bibtex/contrib/iran-bibtex/iran-bibtex.sty b/biblio/bibtex/contrib/iran-bibtex/iran-bibtex.sty index 4ace41b7e7..bcabada4c8 100644 --- a/biblio/bibtex/contrib/iran-bibtex/iran-bibtex.sty +++ b/biblio/bibtex/contrib/iran-bibtex/iran-bibtex.sty @@ -11,7 +11,7 @@ %% This work is “author-maintained” (as per LPPL maintenance status) %% by Farshad Rasuli. %% -%% Location on CTAN: /macros/xetex/latex/iran-bibtex +%% Location on CTAN: /biblio/bibtex/contrib/iran-bibtex %% %% Homepage: http://github.com/farshadrasuli/iran-bibtex %% @@ -24,8 +24,8 @@ % === Package structure: Identification \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{iran-bibtex} -\def\iranbibtex@version{0.1} -\def\iranbibtexdate{2023/12/12} % December 12th, 2023 +\def\iranbibtex@version{0.2.0} +\def\iranbibtexdate{2023/12/15} % December 15th, 2023 \def\iranbibtexfirstrelease{2023/12/12} % December 12th, 2023 \edef\@iranbibtex@info{% ****************************************************^^J% @@ -62,17 +62,6 @@ } -%% iran bibliography style: author-year style, ordered by year -\DeclareOption{iran-year} -{% - \setcitestyle{authoryear,% citation mode - round,% braces - aysep={},% between author and year - }% - \bibliographystyle{iran}% -} - - \ProcessOptions\relax @@ -87,13 +76,14 @@ \newcommand{\enquote}[1]{``#1''} \newcommand{\faquote}[1]{«#1»} \providecommand{\url}[1]{{\tt #1}} -\providecommand{\doi}[1]{{\tt #1}} +\providecommand{\doi}[1]{\url{#1}} +\providecommand{\eprint}[2][]{\url{#2}} -% === Package structure: Change extra label (2000a, b, ...) to persian harfi +% === Package structure: Extra label appended to year for one author in same year \providecommand{\natexlaben}[1]{#1} diff --git a/biblio/bibtex/contrib/iran-bibtex/iran-structure.pdf b/biblio/bibtex/contrib/iran-bibtex/iran-structure.pdf Binary files differindex 2b9a1f0a9f..bebc9a2400 100644 --- a/biblio/bibtex/contrib/iran-bibtex/iran-structure.pdf +++ b/biblio/bibtex/contrib/iran-bibtex/iran-structure.pdf diff --git a/biblio/bibtex/contrib/iran-bibtex/iran-structure.tex b/biblio/bibtex/contrib/iran-bibtex/iran-structure.tex index ef3bea05a4..bb7e3b5f47 100644 --- a/biblio/bibtex/contrib/iran-bibtex/iran-structure.tex +++ b/biblio/bibtex/contrib/iran-bibtex/iran-structure.tex @@ -10,18 +10,21 @@ \SepMark{-} -\eqcommand{چر}{lr} + + \begin{document} \title{خلاصهای از ساختار چیدمان مشخصهها در شیوهی استاددهی {\tt iran.bst}} -\author{فرشاد رسولی\thanks{رایانامه: \url{farshad.rasuli@gmail.com}}} -\date{نسخهی ۰٫۱ --- ۲۱ آذر ۱۴۰۲} +\author{فرشاد رسولی \thanks{رایانامه: \url{farshad.rasuli@gmail.com}}} +\date{نسخهی ۰٫۲٫۰ --- ۲۴ آذر ۱۴۰۲} \maketitle \begin{description} -\item[مدخل (\lr{entry}):] به هر اثری که اطلاعات شناسنامهای آن برای استناددهی در نوشتار وارد میگردد گفته میشود. مدخل میتواند از نوع \verb|@book|، \verb|@incollection|، \verb|@article|، \verb|@inproceeding|، \verb|@masterthesis|، \verb|@phdthesis|، \verb|@misc|، و غیره باشد. -\item[مشخصه (\lr{field}):] به هر یک از مشخصههای شناسنامهای مدخل مانند \lr{\tt author}، \lr{\tt title}، \lr{\tt year}، و غیره گفته میشود. +\item[مدخل (\lr{entry}):] +به هر اثری که اطلاعات شناسنامهای آن برای استناددهی در نوشتار وارد میگردد گفته میشود. مدخل میتواند از نوع \verb|@book|، \verb|@incollection|، \verb|@article|، \verb|@inproceeding|، \verb|@masterthesis|، \verb|@phdthesis|، \verb|@misc|، و غیره باشد. +\item[مشخصه (\lr{field}):] +به هر یک از مشخصههای شناسنامهای مدخل مانند \lr{\tt author}، \lr{\tt title}، \lr{\tt year}، و غیره گفته میشود. \end{description} @@ -33,8 +36,88 @@ +\section{مقاله در مجلهی تخصصی} +برای استناد به یک مقالهی چاپ شده در مجلهی تخصصی از مدخل \verb|@article| استفاده کنید. الگوی چیدمان مشخصههای مدخل مقاله در ادامه ارائه شده است. + + + + + +\subsection{مقالههایی که زیر نام نویسنده مرتب میشوند} +اگر برای مدخل مقاله، مشخصهی \verb|author| وارد گردد، زیر نام نویسنده مرتب میشود. + +\begin{itemize}[nosep] +\begin{latin} +\item[] [] +{\tt author}. {\tt year}. {\tt title}. by {\tt by}. Translated by {\tt translator}. {\tt translateyear}. Edited by {\tt editor}. {\tt journal, issue, volume, number, pages}. {\tt note}. ISSN: {\tt issn}. DOI: {\tt doi}. Retrieved {\tt urldate}. URL: {\tt url}. +\end{latin} + +\item[] [] +{\persianttfamily نویسنده}. {\persianttfamily تاریخ}. {\persianttfamily عنوان}. نوشتهی {\persianttfamily …}. ترجمهی {\persianttfamily …}. {\persianttfamily تاریخ ترجمه}. ویراستهی {\persianttfamily …}. {\persianttfamily مجله، ویژهنامه، دوره، شماره، صفحهها}. {\persianttfamily یادداشت}. شاپا: {\persianttfamily …}. شناسهی دیجیتال: {\persianttfamily …}. دسترسی در {\persianttfamily …}. تارنما: {\persianttfamily …}. +\end{itemize} + + + + + +\subsection{مقالههایی که زیر نام ویراستار مرتب میشوند} +اگر برای مدخل مقاله، مشخصههای \verb|author| وارد نشود، در صورت وجود مشخصهی \verb|editor|، زیر نام ویراستار مرتب میشود. + +\begin{itemize}[nosep] +\begin{latin} +\item[] [] +{\tt editor}, ed(s). {\tt year}. {\tt title}. by {\tt by}. {\tt journal, issue, volume, number, pages}. {\tt note}. ISSN: {\tt issn}. DOI: {\tt doi}. Retrieved {\tt urldate}. URL: {\tt url}. +\end{latin} + +\item[] [] +{\persianttfamily ویراستار}، ویراستار(ان). {\persianttfamily تاریخ}. {\persianttfamily عنوان}. نوشتهی {\persianttfamily …}. ویراستهی {\persianttfamily …}. {\persianttfamily مجله، ویژهنامه، دوره، شماره، صفحهها}. {\persianttfamily یادداشت}. شاپا: {\persianttfamily …}. شناسهی دیجیتال: {\persianttfamily …}. دسترسی در {\persianttfamily …}. تارنما: {\persianttfamily …}. +\end{itemize} + + + + + +\subsection{مقالههایی که زیر نام مترجم مرتب میشوند} +اگر برای مدخل مقاله، مشخصههای \verb|author|، و \verb|editor| وارد نشوند، در صورت وجود مشخصهی \verb|translator|، زیر نام مترجم مرتب میشود. + +\begin{itemize}[nosep] +\begin{latin} +\item[] [] +{\tt translator}, trans. {\tt translateyear}. {\tt title}. by {\tt by}. {\tt year}. {\tt journal, issue, volume, number, pages}. {\tt note}. ISSN: {\tt issn}. DOI: {\tt doi}. Retrieved {\tt urldate}. URL: {\tt url}. +\end{latin} + +\item[] [] +{\persianttfamily مترجم}، مترجم(ان). {\persianttfamily تاریخ ترجمه}. {\persianttfamily عنوان}. نوشتهی {\persianttfamily …}. {\persianttfamily تاریخ}. {\persianttfamily مجله، ویژهنامه، دوره، شماره، صفحهها}. {\persianttfamily یادداشت}. شاپا: {\persianttfamily …}. شناسهی دیجیتال: {\persianttfamily …}. دسترسی در {\persianttfamily …}. تارنما: {\persianttfamily …}. +\end{itemize} + + + + + +\subsection{مقالههایی که زیر عنوان مرتب میشوند} +اگر برای مدخل مقاله، مشخصههای \verb|author|، \verb|editor|، و \verb|translator| وارد نشوند، باید مشخصهی \verb|key| آن مدخل برابر با مشخصهی \verb|title| وارد شود که زیر عنوان مرتب گردد. + +\begin{itemize}[nosep] +\begin{latin} +\item[] [] +{\tt title}. {\tt year}. {\tt title}. by {\tt by}. Edited by {\tt editor}. {\tt journal, issue, volume, number, pages}. {\tt note}. ISSN: {\tt issn}. DOI: {\tt doi}. Retrieved {\tt urldate}. URL: {\tt url}. +\end{latin} + +\item[] [] +{\persianttfamily عنوان}. {\persianttfamily تاریخ}. نوشتهی {\persianttfamily …}. ویراستهی {\persianttfamily …}. {\persianttfamily مجله، ویژهنامه، دوره، شماره، صفحهها}. {\persianttfamily یادداشت}. شاپا: {\persianttfamily …}. شناسهی دیجیتال: {\persianttfamily …}. دسترسی در {\persianttfamily …}. تارنما: {\persianttfamily …}. +\end{itemize} + + + + + + + + + + \section{کتاب} -در این بخش، طرح چیدمان مشخصههای مدخل کتاب (\verb|@book|) ارائه شده است. +برای استناد به کل یک کتاب از مدخل \verb|@book| استفاده کنید. الگوی چیدمان مشخصههای مدخل کتاب در ادامه ارائه شده است. @@ -43,136 +126,385 @@ \subsection{کتابهایی که زیر نام نویسنده مرتب میشوند} اگر برای مدخل کتاب، مشخصهی \verb|author| وارد گردد، زیر نام نویسنده مرتب میشود. -\subsubsection*{کتابهای ترجمه نشده} -مدخل کتابی که مشخصهی \verb|translator| آن خالی باشد، به صورت زیر فهرست میشود. +\begin{itemize}[nosep] +\begin{latin} +\item[] [] +{\tt author}. {\tt year}. {\tt title}. {\tt edition} edn. {\tt impression} imp. by {\tt by}. Translated by {\tt translator}. {\tt translateyear}. {\tt volume volumes series number}. In collaboration with {\tt collaboration}. Commented by {\tt commentator}. Compiled by {\tt compiler}. Edited by {\tt editor}. Introduction by {\tt introduction}. Preface by {\tt preface}. Afterwords by {\tt afterword}. {\tt address: publisher}. {\tt note}. ISBN: {\tt isbn}. DOI: {\tt doi}. Retrieved {\tt urldate}. URL: {\tt url}. +\end{latin} + +\item[] [] +{\persianttfamily نویسنده}. {\persianttfamily تاریخ}. {\persianttfamily عنوان}. ویرایش {\persianttfamily …}. چاپ {\persianttfamily …}. نوشتهی {\persianttfamily …}. ترجمهی {\persianttfamily …}. {\persianttfamily تاریخ ترجمه}. {\persianttfamily جلد، جلدها، فروست، شماره}. با همکاری {\persianttfamily …}. با یادداشت {\persianttfamily …}. گردآوری {\persianttfamily …}. ویراستهی {\persianttfamily …}. با مقدمهی {\persianttfamily …}. با پیشگفتار {\persianttfamily …}. با پسگفتار {\persianttfamily …}. {\persianttfamily محل نشر: ناشر}. {\persianttfamily یادداشت}. شابک: {\persianttfamily …}. شناسهی دیجیتال: {\persianttfamily …}. دسترسی در {\persianttfamily …}. تارنما: {\persianttfamily …}. +\end{itemize} + + + + + +\subsection{کتابهایی که زیر نام گردآورده مرتب میشوند} +اگر برای مدخل کتاب، مشخصهی \verb|author| وارد نشود، در صورت وجود مشخصهی \verb|compiler|، زیر نام گردآونده مرتب میشود. \begin{itemize}[nosep] \begin{latin} \item[] [] -{\tt author}. {\tt year}. {\tt title}. {\tt edition} edn. {\tt impression} imp. by {\tt by}. {\tt volume volumes series number}. In collaboration with {\tt collaboration}. Commented by {\tt commentator}. Compiled by {\tt compiler}. Edited by {\tt editor}. Introduction by {\tt introduction}. Preface by {\tt preface}. Afterwords by {\tt afterword}. {\tt address}:{\tt publisher}. {\tt note}. ISBN: {\tt isbn}. DOI: {\tt doi}. Retrieved {\tt urldate}. URL: {\tt url}. +{\tt compiler}, comp(s). {\tt year}. {\tt title}. {\tt edition} edn. {\tt impression} imp. by {\tt by}. Translated by {\tt translator}. {\tt translateyear}. {\tt volume volumes series number}. In collaboration with {\tt collaboration}. Commented by {\tt commentator}. Edited by {\tt editor}. Introduction by {\tt introduction}. Preface by {\tt preface}. Afterwords by {\tt afterword}. {\tt address: publisher}. {\tt note}. ISBN: {\tt isbn}. DOI: {\tt doi}. Retrieved {\tt urldate}. URL: {\tt url}. \end{latin} \item[] [] -{\persianttfamily نویسنده}. {\persianttfamily تاریخ}. {\persianttfamily عنوان}. ویرایش {\persianttfamily …}. چاپ {\persianttfamily …}. نوشتهی {\persianttfamily …}. {\persianttfamily جلد فروست}. با همکاری {\persianttfamily …}. با یادداشت {\persianttfamily …}. گردآوری {\persianttfamily …}. ویراستهی {\persianttfamily …}. با مقدمهی {\persianttfamily …}. با پیشگفتار {\persianttfamily …}. با پسگفتار {\persianttfamily …}. {\persianttfamily محل نشر}:{\persianttfamily ناشر}. شابک: {\persianttfamily …}. شناسهی دیجیتال: {\persianttfamily …}. دسترسی در {\persianttfamily …}. تارنما: {\persianttfamily …}. +{\persianttfamily گردآورنده}، گردآورنده(گان). {\persianttfamily تاریخ}. {\persianttfamily عنوان}. ویرایش {\persianttfamily …}. چاپ {\persianttfamily …}. نوشتهی {\persianttfamily …}. ترجمهی {\persianttfamily …}. {\persianttfamily تاریخ ترجمه}. {\persianttfamily جلد، جلدها، فروست، شماره}. با همکاری {\persianttfamily …}. با یادداشت {\persianttfamily …}. ویراستهی {\persianttfamily …}. با مقدمهی {\persianttfamily …}. با پیشگفتار {\persianttfamily …}. با پسگفتار {\persianttfamily …}. {\persianttfamily محل نشر: ناشر}. {\persianttfamily یادداشت}. شابک: {\persianttfamily …}. شناسهی دیجیتال: {\persianttfamily …}. دسترسی در {\persianttfamily …}. تارنما: {\persianttfamily …}. \end{itemize} -\subsubsection*{کتابهای ترجمه شده} -مدخل کتابی که مشخصهی \verb|translator| آن وارد شود به صورت زیر فهرست میشود. + + +\subsection{کتابهایی که زیر نام ویراستار مرتب میشوند} +اگر برای مدخل کتاب، مشخصههای \verb|author|، و \verb|compiler| وارد نشوند، در صورت وجود مشخصهی \verb|editor|، زیر نام ویراستار مرتب میشود. \begin{itemize}[nosep] \begin{latin} \item[] [] -{\tt author}. {\tt year}. {\tt title}. {\tt edition} edn. {\tt impression} imp. by {\tt by}. Translated by {\tt translator}. {\tt translateyear}. {\tt volume volumes series number}. In collaboration with {\tt collaboration}. Commented by {\tt commentator}. Compiled by {\tt compiler}. Edited by {\tt editor}. Introduction by {\tt introduction}. Preface by {\tt preface}. Afterwords by {\tt afterword}. {\tt address}:{\tt publisher}. {\tt note}. ISBN: {\tt isbn}. DOI: {\tt doi}. Retrieved {\tt urldate}. URL: {\tt url}. +{\tt editor}, ed(s). {\tt year}. {\tt title}. {\tt edition} edn. {\tt impression} imp. by {\tt by}. Translated by {\tt translator}. {\tt translateyear}. {\tt volume volumes series number}. In collaboration with {\tt collaboration}. Commented by {\tt commentator}. Introduction by {\tt introduction}. Preface by {\tt preface}. Afterwords by {\tt afterword}. {\tt address: publisher}. {\tt note}. ISBN: {\tt isbn}. DOI: {\tt doi}. Retrieved {\tt urldate}. URL: {\tt url}. \end{latin} \item[] [] -{\persianttfamily نویسنده}. {\persianttfamily تاریخ}. {\persianttfamily عنوان}. ویرایش {\persianttfamily …}. چاپ {\persianttfamily …}. نوشتهی {\persianttfamily …}. ترجمهی {\persianttfamily …}. {\persianttfamily تاریخ ترجمه}. {\persianttfamily جلد فروست}. با همکاری {\persianttfamily …}. با یادداشت {\persianttfamily …}. گردآوری {\persianttfamily …}. ویراستهی {\persianttfamily …}. با مقدمهی {\persianttfamily …}. با پیشگفتار {\persianttfamily …}. با پسگفتار {\persianttfamily …}. {\persianttfamily محل نشر}:{\persianttfamily ناشر}. شابک: {\persianttfamily …}. شناسهی دیجیتال: {\persianttfamily …}. دسترسی در {\persianttfamily …}. تارنما: {\persianttfamily …}. +{\persianttfamily ویراستار}، ویراستار(ان). {\persianttfamily تاریخ}. {\persianttfamily عنوان}. ویرایش {\persianttfamily …}. چاپ {\persianttfamily …}. نوشتهی {\persianttfamily …}. ترجمهی {\persianttfamily …}. {\persianttfamily تاریخ ترجمه}. {\persianttfamily جلد، جلدها، فروست، شماره}. با همکاری {\persianttfamily …}. با یادداشت {\persianttfamily …}. ویراستهی {\persianttfamily …}. با مقدمهی {\persianttfamily …}. با پیشگفتار {\persianttfamily …}. با پسگفتار {\persianttfamily …}. {\persianttfamily محل نشر: ناشر}. {\persianttfamily یادداشت}. شابک: {\persianttfamily …}. شناسهی دیجیتال: {\persianttfamily …}. دسترسی در {\persianttfamily …}. تارنما: {\persianttfamily …}. \end{itemize} -\subsection{کتابهایی که زیر نام گردآورده مرتب میشوند} -اگر برای مدخل کتاب، مشخصهی \verb|author| وارد نشود، در صورت وجود مشخصهی \verb|compiler|، زیر نام گردآونده مرتب میشود. +\subsection{کتابهایی که زیر نام مترجم مرتب میشوند} +اگر برای مدخل کتاب، مشخصههای \verb|author|، \verb|compiler|، و \verb|editor| وارد نشوند، در صورت وجود مشخصهی \verb|translator|، زیر نام مترجم مرتب میشود. + +\begin{itemize}[nosep] +\begin{latin} +\item[] [] +{\tt translator}, tran(s). {\tt translateyear}. {\tt title}. {\tt edition} edn. {\tt impression} imp. by {\tt by}. {\tt year}. {\tt volume volumes series number}. In collaboration with {\tt collaboration}. Commented by {\tt commentator}. Introduction by {\tt introduction}. Preface by {\tt preface}. Afterwords by {\tt afterword}. {\tt address: publisher}. {\tt note}. ISBN: {\tt isbn}. DOI: {\tt doi}. Retrieved {\tt urldate}. URL: {\tt url}. +\end{latin} + +\item[] [] +{\persianttfamily مترجم}، مترجم(ان). {\persianttfamily تاریخ ترجمه}. {\persianttfamily عنوان}. ویرایش {\persianttfamily …}. چاپ {\persianttfamily …}. نوشتهی {\persianttfamily …}. {\persianttfamily تاریخ}. {\persianttfamily جلد، جلدها، فروست، شماره}. با همکاری {\persianttfamily …}. با یادداشت {\persianttfamily …}. ویراستهی {\persianttfamily …}. با مقدمهی {\persianttfamily …}. با پیشگفتار {\persianttfamily …}. با پسگفتار {\persianttfamily …}. {\persianttfamily محل نشر: ناشر}. {\persianttfamily یادداشت}. شابک: {\persianttfamily …}. شناسهی دیجیتال: {\persianttfamily …}. دسترسی در {\persianttfamily …}. تارنما: {\persianttfamily …}. +\end{itemize} + + + -\subsubsection*{کتابهای ترجمه نشده} -مدخل کتابی که مشخصهی \verb|translator| آن خالی باشد، به صورت زیر فهرست میشود. + +\subsection{کتابهایی که زیر عنوان مرتب میشوند} +اگر برای مدخل کتاب، مشخصههای \verb|author|، \verb|compiler|، \verb|editor|، و \verb|translator| وارد نشوند، باید مشخصهی \verb|key| آن مدخل برابر با مشخصهی \verb|title| وارد شود که زیر عنوان مرتب گردد. \begin{itemize}[nosep] \begin{latin} \item[] [] -{\tt compiler}, comp(s). {\tt year}. {\tt title}. {\tt edition} edn. {\tt impression} imp. by {\tt by}. {\tt volume volumes series number}. In collaboration with {\tt collaboration}. Commented by {\tt commentator}. Edited by {\tt editor}. Introduction by {\tt introduction}. Preface by {\tt preface}. Afterwords by {\tt afterword}. {\tt address}:{\tt publisher}. {\tt note}. ISBN: {\tt isbn}. DOI: {\tt doi}. Retrieved {\tt urldate}. URL: {\tt url}. +{\tt title}. {\tt year}. {\tt edition} edn. {\tt impression} imp. by {\tt by}. {\tt volume volumes series number}. In collaboration with {\tt collaboration}. Commented by {\tt commentator}. Introduction by {\tt introduction}. Preface by {\tt preface}. Afterwords by {\tt afterword}. {\tt address: publisher}. {\tt note}. ISBN: {\tt isbn}. DOI: {\tt doi}. Retrieved {\tt urldate}. URL: {\tt url}. \end{latin} \item[] [] -{\persianttfamily گردآورنده}، گردآورنده(گان). {\persianttfamily تاریخ}. {\persianttfamily عنوان}. ویرایش {\persianttfamily …}. چاپ {\persianttfamily …}. نوشتهی {\persianttfamily …}. {\persianttfamily جلد فروست}. با همکاری {\persianttfamily …}. با یادداشت {\persianttfamily …}. ویراستهی {\persianttfamily …}. با مقدمهی {\persianttfamily …}. با پیشگفتار {\persianttfamily …}. با پسگفتار {\persianttfamily …}. {\persianttfamily محل نشر}:{\persianttfamily ناشر}. شابک: {\persianttfamily …}. شناسهی دیجیتال: {\persianttfamily …}. دسترسی در {\persianttfamily …}. تارنما: {\persianttfamily …}. +{\persianttfamily عنوان}. {\persianttfamily تاریخ}. ویرایش {\persianttfamily …}. چاپ {\persianttfamily …}. نوشتهی {\persianttfamily …}. {\persianttfamily جلد، جلدها، فروست، شماره}. با همکاری {\persianttfamily …}. با یادداشت {\persianttfamily …}. ویراستهی {\persianttfamily …}. با مقدمهی {\persianttfamily …}. با پیشگفتار {\persianttfamily …}. با پسگفتار {\persianttfamily …}. {\persianttfamily محل نشر: ناشر}. {\persianttfamily یادداشت}. شابک: {\persianttfamily …}. شناسهی دیجیتال: {\persianttfamily …}. دسترسی در {\persianttfamily …}. تارنما: {\persianttfamily …}. \end{itemize} -\subsubsection*{کتابهای ترجمه شده} -مدخل کتابی که مشخصهی \verb|translator| آن وارد شود به صورت زیر فهرست میشود. + + + + + + + +\section{پارهای از یک کتاب} +برای استناد به فصلی از کتاب، یا بخشی از یک کتاب که عنوان مشخصی دارد از مدخل \verb|@incollection| استفاده کنید. الگوی چیدمان مشخصههای مدخل \verb|@incollection| در ادامه ارائه شده است. + + + + + +\subsection{پارهای از کتاب که زیر نام نویسنده مرتب میشود} +اگر برای مدخل \verb|@incollection|، مشخصهی \verb|author| وارد گردد، زیر نام نویسنده مرتب میشود. \begin{itemize}[nosep] \begin{latin} \item[] [] -{\tt compiler}, comp(s). {\tt year}. {\tt title}. {\tt edition} edn. {\tt impression} imp. by {\tt by}. Translated by {\tt translator}. {\tt translateyear}. {\tt volume volumes series number}. In collaboration with {\tt collaboration}. Commented by {\tt commentator}. Edited by {\tt editor}. Introduction by {\tt introduction}. Preface by {\tt preface}. Afterwords by {\tt afterword}. {\tt address}:{\tt publisher}. {\tt note}. ISBN: {\tt isbn}. DOI: {\tt doi}. Retrieved {\tt urldate}. URL: {\tt url}. +{\tt author}. {\tt year}. {\tt title}. by {\tt by}. {\tt chapter, booktitle, pages, volume, volumes}. {\tt edition} edn. {\tt impression} imp. Translated by {\tt translator}. {\tt translateyear}. {\tt series number}. Compiled by {\tt compiler}. Edited by {\tt editor}. {\tt address: publisher}. {\tt note}. ISBN: {\tt isbn}. DOI: {\tt doi}. Retrieved {\tt urldate}. URL: {\tt url}. \end{latin} \item[] [] -{\persianttfamily گردآورنده}، گردآورنده(گان). {\persianttfamily تاریخ}. {\persianttfamily عنوان}. ویرایش {\persianttfamily …}. چاپ {\persianttfamily …}. نوشتهی {\persianttfamily …}. ترجمهی {\persianttfamily …}. {\persianttfamily تاریخ ترجمه}. {\persianttfamily جلد فروست}. با همکاری {\persianttfamily …}. با یادداشت {\persianttfamily …}. ویراستهی {\persianttfamily …}. با مقدمهی {\persianttfamily …}. با پیشگفتار {\persianttfamily …}. با پسگفتار {\persianttfamily …}. {\persianttfamily محل نشر}:{\persianttfamily ناشر}. شابک: {\persianttfamily …}. شناسهی دیجیتال: {\persianttfamily …}. دسترسی در {\persianttfamily …}. تارنما: {\persianttfamily …}. +{\persianttfamily نویسنده}. {\persianttfamily تاریخ}. {\persianttfamily عنوان}. نوشتهی {\persianttfamily …}. {\persianttfamily فصل، عنوانکتاب، صفحهها، جلد، جلدها}. ویرایش {\persianttfamily …}. چاپ {\persianttfamily …}. ترجمهی {\persianttfamily …}. {\persianttfamily تاریخ ترجمه}. {\persianttfamily فروست، شماره}. گردآوری {\persianttfamily …}. ویراستهی {\persianttfamily …}. {\persianttfamily محل نشر: ناشر}. {\persianttfamily یادداشت}. شابک: {\persianttfamily …}. شناسهی دیجیتال: {\persianttfamily …}. دسترسی در {\persianttfamily …}. تارنما: {\persianttfamily …}. \end{itemize} -\subsection{کتابهایی که زیر نام ویراستار مرتب میشوند} -اگر برای مدخل کتاب، مشخصههای \verb|author|، و \verb|compiler| وارد نشوند، در صورت وجود مشخصهی \verb|editor|، زیر نام ویراستار مرتب میشود. +\subsection{پارهای از کتاب که زیر نام گردآورنده مرتب میشود} +اگر برای مدخل \verb|@incollection|، مشخصهی \verb|author| وارد نشود، در صورت وجود مشخصهی \verb|compiler| زیر نام گردآورنده مرتب میشود. + +\begin{itemize}[nosep] +\begin{latin} +\item[] [] +{\tt compiler}, comp(s). {\tt year}. {\tt title}. by {\tt by}. {\tt chapter, booktitle, pages, volume, volumes}. {\tt edition} edn. {\tt impression} imp. Translated by {\tt translator}. {\tt translateyear}. {\tt series number}. Edited by {\tt editor}. {\tt address: publisher}. {\tt note}. ISBN: {\tt isbn}. DOI: {\tt doi}. Retrieved {\tt urldate}. URL: {\tt url}. +\end{latin} + +\item[] [] +{\persianttfamily گردآورنده}، گردآورنده(گان). {\persianttfamily تاریخ}. {\persianttfamily عنوان}. نوشتهی {\persianttfamily …}. {\persianttfamily فصل، عنوانکتاب، صفحهها، جلد، جلدها}. ویرایش {\persianttfamily …}. چاپ {\persianttfamily …}. ترجمهی {\persianttfamily …}. {\persianttfamily تاریخ ترجمه}. {\persianttfamily فروست، شماره}. ویراستهی {\persianttfamily …}. {\persianttfamily محل نشر: ناشر}. {\persianttfamily یادداشت}. شابک: {\persianttfamily …}. شناسهی دیجیتال: {\persianttfamily …}. دسترسی در {\persianttfamily …}. تارنما: {\persianttfamily …}. +\end{itemize} + -\subsubsection*{کتابهای ترجمه نشده} -مدخل کتابی که مشخصهی \verb|translator| آن خالی باشد، به صورت زیر فهرست میشود. + + + +\subsection{پارهای از کتاب که زیر نام ویراستار مرتب میشود} +اگر برای مدخل \verb|@incollection|، مشخصههای \verb|author|، و \verb|compiler| وارد نشود، در صورت وجود مشخصهی \verb|editor| زیر نام گردآورنده مرتب میشود. \begin{itemize}[nosep] \begin{latin} \item[] [] -{\tt editor}, ed(s). {\tt year}. {\tt title}. {\tt edition} edn. {\tt impression} imp. by {\tt by}. {\tt volume volumes series number}. In collaboration with {\tt collaboration}. Commented by {\tt commentator}. Introduction by {\tt introduction}. Preface by {\tt preface}. Afterwords by {\tt afterword}. {\tt address}:{\tt publisher}. {\tt note}. ISBN: {\tt isbn}. DOI: {\tt doi}. Retrieved {\tt urldate}. URL: {\tt url}. +{\tt editor}, ed(s). {\tt year}. {\tt title}. by {\tt by}. {\tt chapter, booktitle, pages, volume, volumes}. {\tt edition} edn. {\tt impression} imp. Translated by {\tt translator}. {\tt translateyear}. {\tt series number}. {\tt address: publisher}. {\tt note}. ISBN: {\tt isbn}. DOI: {\tt doi}. Retrieved {\tt urldate}. URL: {\tt url}. \end{latin} \item[] [] -{\persianttfamily ویراستار}، ویراستار(ان). {\persianttfamily تاریخ}. {\persianttfamily عنوان}. ویرایش {\persianttfamily …}. چاپ {\persianttfamily …}. نوشتهی {\persianttfamily …}. {\persianttfamily جلد فروست}. با همکاری {\persianttfamily …}. با یادداشت {\persianttfamily …}. با مقدمهی {\persianttfamily …}. با پیشگفتار {\persianttfamily …}. با پسگفتار {\persianttfamily …}. {\persianttfamily محل نشر}:{\persianttfamily ناشر}. شابک: {\persianttfamily …}. شناسهی دیجیتال: {\persianttfamily …}. دسترسی در {\persianttfamily …}. تارنما: {\persianttfamily …}. +{\persianttfamily ویراستار}، ویراستار(ان). {\persianttfamily تاریخ}. {\persianttfamily عنوان}. نوشتهی {\persianttfamily …}. {\persianttfamily فصل، عنوانکتاب، صفحهها، جلد، جلدها}. ویرایش {\persianttfamily …}. چاپ {\persianttfamily …}. ترجمهی {\persianttfamily …}. {\persianttfamily تاریخ ترجمه}. {\persianttfamily فروست، شماره}. {\persianttfamily محل نشر: ناشر}. {\persianttfamily یادداشت}. شابک: {\persianttfamily …}. شناسهی دیجیتال: {\persianttfamily …}. دسترسی در {\persianttfamily …}. تارنما: {\persianttfamily …}. \end{itemize} -\subsubsection*{کتابهای ترجمه شده} -مدخل کتابی که مشخصهی \verb|translator| آن وارد شود به صورت زیر فهرست میشود. + + +\subsection{پارهای از کتاب که زیر نام مترجم مرتب میشود} +اگر برای مدخل \verb|@incollection|، مشخصههای \verb|author|، \verb|compiler|، و \verb|editor| وارد نشود، در صورت وجود مشخصهی \verb|translator|، زیر نام مترجم مرتب میشود. \begin{itemize}[nosep] \begin{latin} \item[] [] -{\tt editor}, ed(s). {\tt year}. {\tt title}. {\tt edition} edn. {\tt impression} imp. by {\tt by}. Translated by {\tt translator}. {\tt translateyear}. {\tt volume volumes series number}. In collaboration with {\tt collaboration}. Commented by {\tt commentator}. Introduction by {\tt introduction}. Preface by {\tt preface}. Afterwords by {\tt afterword}. {\tt address}:{\tt publisher}. {\tt note}. ISBN: {\tt isbn}. DOI: {\tt doi}. Retrieved {\tt urldate}. URL: {\tt url}. +{\tt translator}, trans. {\tt translateyear}. {\tt title}. by {\tt by}. {\tt year}. {\tt chapter, booktitle, pages, volume, volumes}. {\tt edition} edn. {\tt impression} imp. {\tt series number}. Compiled by {\tt compiler}. Edited by {\tt editor}. {\tt address: publisher}. {\tt note}. ISBN: {\tt isbn}. DOI: {\tt doi}. Retrieved {\tt urldate}. URL: {\tt url}. \end{latin} \item[] [] -{\persianttfamily ویراستار}، ویراستار(ان). {\persianttfamily تاریخ}. {\persianttfamily عنوان}. ویرایش {\persianttfamily …}. چاپ {\persianttfamily …}. نوشتهی {\persianttfamily …}. ترجمهی {\persianttfamily …}. {\persianttfamily تاریخ ترجمه}. {\persianttfamily جلد فروست}. با همکاری {\persianttfamily …}. با یادداشت {\persianttfamily …}. ویراستهی {\persianttfamily …}. با مقدمهی {\persianttfamily …}. با پیشگفتار {\persianttfamily …}. با پسگفتار {\persianttfamily …}. {\persianttfamily محل نشر}:{\persianttfamily ناشر}. شابک: {\persianttfamily …}. شناسهی دیجیتال: {\persianttfamily …}. دسترسی در {\persianttfamily …}. تارنما: {\persianttfamily …}. +{\persianttfamily مترجم}، مترجم(ان). {\persianttfamily تاریخ ترجمه}. {\persianttfamily عنوان}. نوشتهی {\persianttfamily …}. {\persianttfamily تاریخ}. {\persianttfamily فصل، عنوانکتاب، صفحهها، جلد، جلدها}. ویرایش {\persianttfamily …}. چاپ {\persianttfamily …}. {\persianttfamily فروست، شماره}. گردآوری {\persianttfamily …}. ویراستهی {\persianttfamily …}. {\persianttfamily محل نشر: ناشر}. {\persianttfamily یادداشت}. شابک: {\persianttfamily …}. شناسهی دیجیتال: {\persianttfamily …}. دسترسی در {\persianttfamily …}. تارنما: {\persianttfamily …}. \end{itemize} -\subsection{کتابهایی که زیر نام مترجم مرتب میشوند} -اگر برای مدخل کتاب، مشخصههای \verb|author|، \verb|compiler|، و \verb|editor| وارد نشوند، در صورت وجود مشخصهی \verb|translator|، زیر نام مترجم مرتب میشود. +\subsection{پارهای از کتاب که زیر عنوان مرتب میشود} +ااگر برای مدخل \verb|@incollection|، مشخصههای \verb|author|، و \verb|translator| وارد نشوند، باید مشخصهی \verb|key| آن مدخل برابر با مشخصهی \verb|title| وارد شود که زیر عنوان مرتب گردد. \begin{itemize}[nosep] \begin{latin} \item[] [] -{\tt translator}, tran(s). {\tt translateyear}. {\tt title}. {\tt edition} edn. {\tt impression} imp. by {\tt by}. {\tt year}. {\tt volume volumes series number}. In collaboration with {\tt collaboration}. Commented by {\tt commentator}. Introduction by {\tt introduction}. Preface by {\tt preface}. Afterwords by {\tt afterword}. {\tt address}:{\tt publisher}. {\tt note}. ISBN: {\tt isbn}. DOI: {\tt doi}. Retrieved {\tt urldate}. URL: {\tt url}. +{\tt title}. {\tt year}. by {\tt by}. {\tt chapter, booktitle, pages, volume, volumes}. {\tt edition} edn. {\tt impression} imp. {\tt series number}. Compiled by {\tt compiler}. Edited by {\tt editor}. {\tt address: publisher}. {\tt note}. ISBN: {\tt isbn}. DOI: {\tt doi}. Retrieved {\tt urldate}. URL: {\tt url}. \end{latin} \item[] [] -{\persianttfamily مترجم}، مترجم(ان). {\persianttfamily تاریخ ترجمه}. {\persianttfamily عنوان}. ویرایش {\persianttfamily …}. چاپ {\persianttfamily …}. نوشتهی {\persianttfamily …}. {\persianttfamily تاریخ}. {\persianttfamily جلد فروست}. با همکاری {\persianttfamily …}. با یادداشت {\persianttfamily …}. ویراستهی {\persianttfamily …}. با مقدمهی {\persianttfamily …}. با پیشگفتار {\persianttfamily …}. با پسگفتار {\persianttfamily …}. {\persianttfamily محل نشر}:{\persianttfamily ناشر}. شابک: {\persianttfamily …}. شناسهی دیجیتال: {\persianttfamily …}. دسترسی در {\persianttfamily …}. تارنما: {\persianttfamily …}. +{\persianttfamily عنوان}. {\persianttfamily تاریخ}. نوشتهی {\persianttfamily …}. {\persianttfamily فصل، عنوانکتاب، صفحهها، جلد، جلدها}. ویرایش {\persianttfamily …}. چاپ {\persianttfamily …}. {\persianttfamily فروست، شماره}. گردآوری {\persianttfamily …}. ویراستهی {\persianttfamily …}. {\persianttfamily محل نشر: ناشر}. {\persianttfamily یادداشت}. شابک: {\persianttfamily …}. شناسهی دیجیتال: {\persianttfamily …}. دسترسی در {\persianttfamily …}. تارنما: {\persianttfamily …}. \end{itemize} -\subsection{کتابهایی که زیر عنوان مرتب میشوند} -اگر برای مدخل کتاب، مشخصههای \verb|author|، \verb|compiler|، \verb|editor|، و \verb|translator| وارد نشوند، باید مشخصهی \verb|key| آن مدخل برابر با مشخصهی \verb|title| وارد شود که زیر عنوان مرتب گردد. + + + + + +\section{مجموعهی مقالههای یک همایش} +برای استناد به کتابی که دربردارندهی مقالههای یک همایش است، از مدخل \verb|@proceedings| استفاده کنید. الگوی چیدمان مشخصههای مدخل \verb|@proceedings| در ادامه ارائه شده است. + + + + + +\subsection{مجموعه مقالهای که زیر نام ویراستار مرتب میشود} +اگر برای مدخل \verb|@proceedings|، مشخصهی \verb|editor| وارد گردد، زیر نام ویراستار مرتب میشود. + +\begin{itemize}[nosep] +\begin{latin} +\item[] [] +{\tt editor}, ed(s). {\tt year}. {\tt title}. {\tt edition} edn. {\tt impression} imp. Translated by {\tt translator}. {\tt translateyear}. {\tt volume volumes series number}. Compiled by {\tt compiler}. {\tt organization}. {\tt address: publisher}. {\tt note}. ISBN: {\tt isbn}. ISSN: {\tt issn}. DOI: {\tt doi}. Retrieved {\tt urldate}. URL: {\tt url}. +\end{latin} + +\item[] [] +{\persianttfamily ویراستار}، ویراستار(ان). {\persianttfamily تاریخ}. {\persianttfamily عنوان}. ویرایش {\persianttfamily …}. چاپ {\persianttfamily …}. ترجمهی {\persianttfamily …}. {\persianttfamily تاریخ ترجمه}. {\persianttfamily جلد، جلدها، فروست، شماره}. گردآوری {\persianttfamily …}. {\persianttfamily سازمان}. {\persianttfamily محل نشر: ناشر}. {\persianttfamily یادداشت}. شابک: {\persianttfamily …}. شاپا: {\persianttfamily …}. شناسهی دیجیتال: {\persianttfamily …}. دسترسی در {\persianttfamily …}. تارنما: {\persianttfamily …}. +\end{itemize} + + + + + +\subsection{مجموعه مقالهای که زیر نام گردآورنده مرتب میشود} +اگر برای مدخل \verb|@proceedings|، مشخصهی \verb|editor| وارد نشود، در صورت وجود مشخصهی \verb|compiler| زیر نام گردآورنده مرتب میشود. + +\begin{itemize}[nosep] +\begin{latin} +\item[] [] +{\tt compiler}, comp(s). {\tt year}. {\tt title}. {\tt edition} edn. {\tt impression} imp. Translated by {\tt translator}. {\tt translateyear}. {\tt volume volumes series number}. {\tt organization}. {\tt address: publisher}. {\tt note}. ISBN: {\tt isbn}. ISSN: {\tt issn}. DOI: {\tt doi}. Retrieved {\tt urldate}. URL: {\tt url}. +\end{latin} + +\item[] [] +{\persianttfamily گردآورنده}، گردآورنده(گان). {\persianttfamily تاریخ}. {\persianttfamily عنوان}. ویرایش {\persianttfamily …}. چاپ {\persianttfamily …}. ترجمهی {\persianttfamily …}. {\persianttfamily تاریخ ترجمه}. {\persianttfamily جلد، جلدها، فروست، شماره}. {\persianttfamily سازمان}. {\persianttfamily محل نشر: ناشر}. {\persianttfamily یادداشت}. شابک: {\persianttfamily …}. شاپا: {\persianttfamily …}. شناسهی دیجیتال: {\persianttfamily …}. دسترسی در {\persianttfamily …}. تارنما: {\persianttfamily …}. +\end{itemize} + + + + + +\subsection{مجموعه مقالهای که زیر نام مترجم مرتب میشوند} +اگر برای مدخل \verb|@proceedings|، مشخصههای \verb|editor|، و \verb|compiler| وارد نشوند، در صورت وجود مشخصهی \verb|translator|، زیر نام مترجم مرتب میشود. + +\begin{itemize}[nosep] +\begin{latin} +\item[] [] +{\tt translator}, tran(s). {\tt translateyear}. {\tt title}. {\tt edition} edn. {\tt impression} imp. {\tt volume volumes series number}. {\tt organization}. {\tt address: publisher}. {\tt note}. ISBN: {\tt isbn}. ISSN: {\tt issn}. DOI: {\tt doi}. Retrieved {\tt urldate}. URL: {\tt url}. +\end{latin} + +\item[] [] +{\persianttfamily مترجم}، مترجم(ان). {\persianttfamily تاریخ ترجمه}. {\persianttfamily عنوان}. ویرایش {\persianttfamily …}. چاپ {\persianttfamily …}. {\persianttfamily جلد، جلدها، فروست، شماره}. {\persianttfamily سازمان}. {\persianttfamily محل نشر: ناشر}. {\persianttfamily یادداشت}. شابک: {\persianttfamily …}. شاپا: {\persianttfamily …}. شناسهی دیجیتال: {\persianttfamily …}. دسترسی در {\persianttfamily …}. تارنما: {\persianttfamily …}. +\end{itemize} + + + + + +\subsection{مجموعه مقالهای که زیر عنوان مرتب میشوند} +اگر برای مدخل \verb|@proceedings|، مشخصههای \verb|editor|، \verb|compiler|، و \verb|translator| وارد نشوند، باید مشخصهی \verb|key| آن مدخل برابر با مشخصهی \verb|title| وارد شود که زیر عنوان مرتب گردد. + +\begin{itemize}[nosep] +\begin{latin} +\item[] [] +{\tt title}. {\tt year}. {\tt edition} edn. {\tt impression} imp. {\tt volume volumes series number}. {\tt organization}. {\tt address: publisher}. {\tt note}. ISBN: {\tt isbn}. ISSN: {\tt issn}. DOI: {\tt doi}. Retrieved {\tt urldate}. URL: {\tt url}. +\end{latin} + +\item[] [] +{\persianttfamily عنوان}. {\persianttfamily تاریخ}. ویرایش {\persianttfamily …}. چاپ {\persianttfamily …}. {\persianttfamily جلد، جلدها، فروست، شماره}. {\persianttfamily سازمان}. {\persianttfamily محل نشر: ناشر}. {\persianttfamily یادداشت}. شابک: {\persianttfamily …}. شاپا: {\persianttfamily …}. شناسهی دیجیتال: {\persianttfamily …}. دسترسی در {\persianttfamily …}. تارنما: {\persianttfamily …}. +\end{itemize} + + + + + + + + + + +\section{مقالهی چاپ شده در مجموعه مقالههای یک همایش} +برای استناد به مقالهای که در یک همایش ارائه شده سپس در مجموعه مقالههای آن همایش چاپ شده است از مدخل \verb|@inproceedings| استفاده کنید. الگوی چیدمان مشخصههای مدخل \verb|@inproceedings| در ادامه ارائه شده است. + + + + + +\subsection{مقالهای که زیر نام نویسنده مرتب میشود} +اگر برای مدخل \verb|@inproceedings|، مشخصهی \verb|author| وارد گردد، زیر نام نویسنده مرتب میشود. + +\begin{itemize}[nosep] +\begin{latin} +\item[] [] +{\tt author}. {\tt year}. {\tt title}. by {\tt by}. {\tt booktitle, pages, volume, volumes}. {\tt edition} edn. {\tt impression} imp. Translated by {\tt translator}. {\tt translateyear}. {\tt series number}. Compiled by {\tt compiler}. Edited by {\tt editor}. {\tt address: publisher}. {\tt note}. ISBN: {\tt isbn}. ISSN: {\tt issn}. DOI: {\tt doi}. Retrieved {\tt urldate}. URL: {\tt url}. +\end{latin} + +\item[] [] +{\persianttfamily نویسنده}. {\persianttfamily تاریخ}. {\persianttfamily عنوان}. نوشتهی {\persianttfamily …}. {\persianttfamily عنوانکتاب، صفحهها، جلد، جلدها}. ویرایش {\persianttfamily …}. چاپ {\persianttfamily …}. ترجمهی {\persianttfamily …}. {\persianttfamily تاریخ ترجمه}. {\persianttfamily فروست شماره}. گردآوری {\persianttfamily …}. ویراستهی {\persianttfamily …}. {\persianttfamily محل نشر: ناشر}. {\persianttfamily یادداشت}. شابک: {\persianttfamily …}. شاپا: {\persianttfamily …}. شناسهی دیجیتال: {\persianttfamily …}. دسترسی در {\persianttfamily …}. تارنما: {\persianttfamily …}. +\end{itemize} + + + + + +\subsection{مقالهای که زیر نام مترجم مرتب میشود} +اگر برای مدخل \verb|@inproceedings|، مشخصهی \verb|author| وارد نشود، در صورت وجود مشخصهی \verb|translator|، زیر نام مترجم مرتب میشود. + +\begin{itemize}[nosep] +\begin{latin} +\item[] [] +{\tt translator}, trans. {\tt translateyear}. {\tt title}. by {\tt by}. {\tt year}. {\tt booktitle, pages, volume, volumes}. {\tt edition} edn. {\tt impression} imp. {\tt series number}. Compiled by {\tt compiler}. Edited by {\tt editor}. {\tt address: publisher}. {\tt note}. ISBN: {\tt isbn}. ISSN: {\tt issn}. DOI: {\tt doi}. Retrieved {\tt urldate}. URL: {\tt url}. +\end{latin} + +\item[] [] +{\persianttfamily مترجم}، مترجم(ان). {\persianttfamily تاریخ ترجمه}. {\persianttfamily عنوان}. نوشتهی {\persianttfamily …}. {\persianttfamily تاریخ}. {\persianttfamily عنوانکتاب، صفحهها، جلد، جلدها}. ویرایش {\persianttfamily …}. چاپ {\persianttfamily …}. {\persianttfamily فروست شماره}. گردآوری {\persianttfamily …}. ویراستهی {\persianttfamily …}. {\persianttfamily محل نشر: ناشر}. {\persianttfamily یادداشت}. شابک: {\persianttfamily …}. شاپا: {\persianttfamily …}. شناسهی دیجیتال: {\persianttfamily …}. دسترسی در {\persianttfamily …}. تارنما: {\persianttfamily …}. +\end{itemize} + + + + + +\subsection{مقالهای که زیر عنوان مرتب میشود} +ااگر برای مدخل \verb|@inproceedings|، مشخصههای \verb|author|، و \verb|translator| وارد نشوند، باید مشخصهی \verb|key| آن مدخل برابر با مشخصهی \verb|title| وارد شود که زیر عنوان مرتب گردد. + +\begin{itemize}[nosep] +\begin{latin} +\item[] [] +{\tt title}. {\tt year}. by {\tt by}. {\tt booktitle, pages, volume, volumes}. {\tt edition} edn. {\tt impression} imp. {\tt series number}. Compiled by {\tt compiler}. Edited by {\tt editor}. {\tt address: publisher}. {\tt note}. ISBN: {\tt isbn}. ISSN: {\tt issn}. DOI: {\tt doi}. Retrieved {\tt urldate}. URL: {\tt url}. +\end{latin} + +\item[] [] +{\persianttfamily عنوان}. {\persianttfamily تاریخ}. نوشتهی {\persianttfamily …}. {\persianttfamily عنوانکتاب، صفحهها، جلد، جلدها}. ویرایش {\persianttfamily …}. چاپ {\persianttfamily …}. {\persianttfamily فروست شماره}. گردآوری {\persianttfamily …}. ویراستهی {\persianttfamily …}. {\persianttfamily محل نشر: ناشر}. {\persianttfamily یادداشت}. شابک: {\persianttfamily …}. شاپا: {\persianttfamily …}. شناسهی دیجیتال: {\persianttfamily …}. دسترسی در {\persianttfamily …}. تارنما: {\persianttfamily …}. +\end{itemize} + + + + + + + + + + +\section{مقالهی ارائه شده در یک همایش} +برای استناد به مقالهای که در یک همایش ارائه شده است از مدخل \verb|@conference| استفاده کنید. الگوی چیدمان مشخصههای مدخل \verb|@conference| در ادامه ارائه شده است. + + + + + +\subsection{مقالهای که زیر نام نویسنده مرتب میشود} +اگر برای مدخل \verb|@conference|، مشخصهی \verb|author| وارد گردد، زیر نام نویسنده مرتب میشود. + +\begin{itemize}[nosep] +\begin{latin} +\item[] [] +{\tt author}. {\tt year}. {\tt title}. by {\tt by}. Translated by {\tt translator}. {\tt translateyear}. {\tt series, number, pages}. Edited by {\tt editor}. {\tt organization, address, publisher}. {\tt note}. ISSN: {\tt issn}. DOI: {\tt doi}. Retrieved {\tt urldate}. URL: {\tt url}. +\end{latin} + +\item[] [] +{\persianttfamily نویسنده}. {\persianttfamily تاریخ}. {\persianttfamily عنوان}. نوشتهی {\persianttfamily …}. ترجمهی {\persianttfamily …}. {\persianttfamily تاریخ ترجمه}. {\persianttfamily فروست، شماره، صفحهها}. ویراستهی {\persianttfamily …}. {\persianttfamily سازمان، محل نشر، ناشر}. {\persianttfamily یادداشت}. شاپا: {\persianttfamily …}. شناسهی دیجیتال: {\persianttfamily …}. دسترسی در {\persianttfamily …}. تارنما: {\persianttfamily …}. +\end{itemize} + + + + + +\subsection{مقالهای که زیر نام مترجم مرتب میشود} +اگر برای مدخل \verb|@conference|، مشخصهی \verb|author| وارد نشود، در صورت وجود مشخصهی \verb|translator|، زیر نام مترجم مرتب میشود. + +\begin{itemize}[nosep] +\begin{latin} +\item[] [] +{\tt translator}, trans. {\tt translateyear}. {\tt title}. by {\tt by}. {\tt year}. {\tt series, number, pages}. Edited by {\tt editor}. {\tt organization, address, publisher}. {\tt note}. ISSN: {\tt issn}. DOI: {\tt doi}. Retrieved {\tt urldate}. URL: {\tt url}. +\end{latin} + +\item[] [] +{\persianttfamily مترجم}، مترجم(ان). {\persianttfamily تاریخ ترجمه}. {\persianttfamily عنوان}. نوشتهی {\persianttfamily …}. {\persianttfamily تاریخ}. {\persianttfamily فروست، شماره، صفحهها}. ویراستهی {\persianttfamily …}. {\persianttfamily سازمان، محل نشر، ناشر}. {\persianttfamily یادداشت}. شاپا: {\persianttfamily …}. شناسهی دیجیتال: {\persianttfamily …}. دسترسی در {\persianttfamily …}. تارنما: {\persianttfamily …}. +\end{itemize} + + + + + +\subsection{مقالهای که زیر عنوان مرتب میشود} +ااگر برای مدخل \verb|@conference|، مشخصههای \verb|author|، و \verb|translator| وارد نشوند، باید مشخصهی \verb|key| آن مدخل برابر با مشخصهی \verb|title| وارد شود که زیر عنوان مرتب گردد. \begin{itemize}[nosep] \begin{latin} \item[] [] -{\tt title}. {\tt year}. {\tt edition} edn. {\tt impression} imp. by {\tt by}. {\tt volume volumes series number}. In collaboration with {\tt collaboration}. Commented by {\tt commentator}. Introduction by {\tt introduction}. Preface by {\tt preface}. Afterwords by {\tt afterword}. {\tt address}:{\tt publisher}. {\tt note}. ISBN: {\tt isbn}. DOI: {\tt doi}. Retrieved {\tt urldate}. URL: {\tt url}. +{\tt title}. {\tt year}. by {\tt by}. {\tt series, number, pages}. Edited by {\tt editor}. {\tt organization, address, publisher}. {\tt note}. ISSN: {\tt issn}. DOI: {\tt doi}. Retrieved {\tt urldate}. URL: {\tt url}. \end{latin} \item[] [] -{\persianttfamily عنوان}. {\persianttfamily تاریخ}. ویرایش {\persianttfamily …}. چاپ {\persianttfamily …}. نوشتهی {\persianttfamily …}. {\persianttfamily جلد فروست}. با همکاری {\persianttfamily …}. با یادداشت {\persianttfamily …}. ویراستهی {\persianttfamily …}. با مقدمهی {\persianttfamily …}. با پیشگفتار {\persianttfamily …}. با پسگفتار {\persianttfamily …}. {\persianttfamily محل نشر}:{\persianttfamily ناشر}. شابک: {\persianttfamily …}. شناسهی دیجیتال: {\persianttfamily …}. دسترسی در {\persianttfamily …}. تارنما: {\persianttfamily …}. +{\persianttfamily عنوان}. {\persianttfamily تاریخ}. نوشتهی {\persianttfamily …}. {\persianttfamily فروست، شماره، صفحهها}. ویراستهی {\persianttfamily …}. {\persianttfamily سازمان، محل نشر، ناشر}. {\persianttfamily یادداشت}. شاپا: {\persianttfamily …}. شناسهی دیجیتال: {\persianttfamily …}. دسترسی در {\persianttfamily …}. تارنما: {\persianttfamily …}. \end{itemize} diff --git a/biblio/bibtex/contrib/iran-bibtex/iran.bst b/biblio/bibtex/contrib/iran-bibtex/iran.bst index d830b9f3b0..f4534d5d62 100644 --- a/biblio/bibtex/contrib/iran-bibtex/iran.bst +++ b/biblio/bibtex/contrib/iran-bibtex/iran.bst @@ -1,6 +1,6 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% -%% This file is “iran.bst”, +%% This file is “iran.bst”, %% generated with the DOCSTRIP utility and then modified to support %% bilingual (English/Latin, and Persian). %% @@ -64,6 +64,7 @@ ENTRY by % the added field chapter collaboration + comment % the added field commentator % the added field compiler % the added field doi @@ -78,6 +79,7 @@ ENTRY introduction % the added field isbn issn + issue % the added field journal key language @@ -474,8 +476,8 @@ FUNCTION {bbl.semicolon} FUNCTION {bbl.techrep} { is.language.persian - {""} - {""} + {"گزارش"} + {"tech. rep."} if$ } @@ -483,7 +485,7 @@ FUNCTION {bbl.translator} { is.language.persian {"مترجم"} - {"tran."} + {"trans."} if$ } @@ -1091,7 +1093,7 @@ FUNCTION {format.doi} doi empty$ { "" } { - bbl.doi "u" change.case$ ": \doi{" * doi * "}" * + bbl.doi "u" change.case$ ":\doi{" * doi * "}" * } if$ } @@ -1123,12 +1125,7 @@ FUNCTION {format.note} FUNCTION {format.title} { - title - duplicate$ empty$ - 'skip$ - { "t" change.case$ } - if$ - "title" bibinfo.check + title "title" bibinfo.check duplicate$ empty$ 'skip$ { @@ -1327,14 +1324,108 @@ FUNCTION {format.date} +FUNCTION {format.article.comment} +{ + comment +} + + + +FUNCTION {format.article.journal} +{ + journal remove.dots emphasize +} + + + +FUNCTION {format.article.jour.iss.vol.num.pp} +{ + journal empty$ not + { + issue empty$ not + { issue bbl.comma * " " *} + { "" } + if$ + format.article.journal * + volume empty$ not + { + number empty$ not + { + pages empty$ not + { + " " * volume * " " * + "(" * number * ")" * ": " * + pages * + } + { + " " * volume * bbl.comma * + " " * bbl.number * "~" * number * + } + if$ + } + { + pages empty$ not + { + " " * volume * ": " * + pages * + } + { + " " * volume * + } + if$ + } + if$ + } + { + number empty$ not + { + pages empty$ not + { + bbl.comma * " " * bbl.number * "~" * number * + ": " * pages * + } + { + bbl.comma * " " * bbl.number * "~" * number * + } + if$ + } + { + pages empty$ not + { + bbl.comma * " " * pages * + } + 'skip$ + if$ + } + if$ + } + if$ + } + { + "journal" output.check + } + if$ +} + + + FUNCTION {format.btitle} { title "title" bibinfo.check duplicate$ empty$ 'skip$ - { - emphasize - } + { emphasize } + if$ +} + + + +FUNCTION {format.title.in.books} +{ + title "title" bibinfo.check + duplicate$ empty$ + 'skip$ + { emphasize } if$ } @@ -1351,26 +1442,17 @@ FUNCTION {either.or.check} FUNCTION {format.bvolume} { - volume empty$ not - { - volumes empty$ not - { - bbl.volume volume "~" swap$ * * - bbl.of separate.by.space volumes * - * - } - { - bbl.volume volume "~" swap$ * * - } - if$ - } + volume empty$ + { "" } { - volumes empty$ not - { - volumes bbl.volumes "~" swap$ * * - } - { "" } + bbl.volume volume tie.or.space.prefix + "volume" bibinfo.check * * + series "series" bibinfo.check + duplicate$ empty$ + 'pop$ + { emphasize ", " * swap$ * } if$ + "volume and number" number either.or.check } if$ } @@ -1378,33 +1460,33 @@ FUNCTION {format.bvolume} FUNCTION {format.number.series} { - series empty$ not + volume empty$ { - number empty$ not - { - series " " * number * - } - { series field.or.null } - if$ - } - { - number empty$ not + number empty$ + { series field.or.null } { - output.state mid.sentence = - { bbl.number } - { bbl.number capitalize } + series empty$ + { number "number" bibinfo.check } + { + output.state mid.sentence = + { bbl.number } + { bbl.number capitalize } + if$ + number tie.or.space.prefix "number" bibinfo.check * * + bbl.in space.word * + series "series" bibinfo.check * + } if$ - number "~" swap$ * * } - { "" } if$ } + { "" } if$ } -FUNCTION {format.bvolume.series.number} +FUNCTION {format.book.volume.series.number} { volume empty$ not { @@ -1414,13 +1496,13 @@ FUNCTION {format.bvolume.series.number} { number empty$ not { - bbl.volume "~" * volume * + bbl.volume capitalize "~" * volume * " " * bbl.of * " " * volumes * add.period$ " " * series emphasize * " " * number * } { - bbl.volume "~" * volume * + bbl.volume capitalize "~" * volume * " " * bbl.of * " " * volumes * add.period$ " " * series emphasize * } @@ -1429,12 +1511,12 @@ FUNCTION {format.bvolume.series.number} { number empty$ not { - bbl.volume "~" * volume * + bbl.volume capitalize "~" * volume * " " * bbl.of * " " * volumes * add.period$ " " * bbl.number * "~" * number * } { - bbl.volume "~" * volume * + bbl.volume capitalize "~" * volume * " " * bbl.of * " " * volumes * } if$ @@ -1446,12 +1528,12 @@ FUNCTION {format.bvolume.series.number} { number empty$ not { - bbl.volume "~" * volume * + bbl.volume capitalize "~" * volume * " " * bbl.of * " " * series emphasize * " " * number * } { - bbl.volume "~" * volume * + bbl.volume capitalize "~" * volume * " " * bbl.of * " " * series emphasize * } if$ @@ -1459,11 +1541,11 @@ FUNCTION {format.bvolume.series.number} { number empty$ not { - bbl.volume "~" * volume * add.period$ + bbl.volume capitalize "~" * volume * add.period$ " " * bbl.number * "~" * number * } { - bbl.volume "~" * volume * add.period$ + bbl.volume capitalize "~" * volume * add.period$ } if$ } @@ -1533,6 +1615,441 @@ FUNCTION {format.bvolume.series.number} +FUNCTION {format.booktitle} +{ + booktitle "booktitle" bibinfo.check + emphasize +} + + + +FUNCTION {format.incoll.chapter.booktitle.volume.pages} +{ + booktitle empty$ not + { + chapter empty$ not + { + bbl.chapter capitalize "~" * chapter * + " " * bbl.in * " " * format.booktitle * + pages empty$ not + { + bbl.comma * " " * pages * add.period$ + } + { + add.period$ + } + if$ + volume empty$ not + { + volumes empty$ not + { + " " * bbl.volume capitalize * "~" * volume * " " * bbl.of * " " * volumes * add.period$ + } + { + " " * bbl.volume capitalize * "~" * volume * add.period$ + } + if$ + } + { + volumes empty$ not + { + " " * volumes * "~" * bbl.volumes * add.period$ + } + { + skip$ + } + if$ + } + if$ + } + { + word.in format.booktitle * + pages empty$ not + { + volume empty$ not + { + volumes empty$ not + { + " " * volume * ": " * pages * add.period$ + " " * volumes * "~" * bbl.volumes * add.period$ + } + { + " " * volume * ": " * pages * add.period$ + } + if$ + } + { + volumes empty$ not + { + bbl.comma * " " * pages * add.period$ + " " * volumes * "~" * bbl.volumes * add.period$ + } + { + bbl.comma * " " * pages * add.period$ + } + if$ + } + if$ + } + { + add.period$ + volume empty$ not + { + volumes empty$ not + { + " " * bbl.volume capitalize * "~" * volume * + " " * bbl.of * " " * volumes * add.period$ + } + { + " " * bbl.volume capitalize * "~" * volume * add.period$ + } + if$ + } + { + volumes empty$ not + { + " " * volumes * "~" * bbl.volumes * add.period$ + } + { + skip$ + } + if$ + } + if$ + } + if$ + } + if$ + } + { + "" + } + if$ +} + + + +INTEGERS { emph.series } +FUNCTION {format.incoll.series.number} +{ + author empty$ not + { + translator empty$ not + { #1 'emph.series := } + { + edition empty$ not + { #1 } + { #0 } + if$ + impression empty$ not + { #1 } + { #0 } + if$ + + 'emph.series := + } + if$ + } + { + compiler empty$ not + { + translator empty$ not + { #1 'emph.series := } + { + edition empty$ not + { #1 } + { #0 } + if$ + impression empty$ not + { #1 } + { #0 } + if$ + + 'emph.series := + } + if$ + } + { + editor empty$ not + { + translator empty$ not + { #1 'emph.series := } + { + edition empty$ not + { #1 } + { #0 } + if$ + impression empty$ not + { #1 } + { #0 } + if$ + + 'emph.series := + } + if$ + } + { + edition empty$ not + { #1 } + { #0 } + if$ + impression empty$ not + { #1 } + { #0 } + if$ + + 'emph.series := + } + if$ + } + if$ + } + if$ + series empty$ not + { + emph.series #0 > + { + number empty$ not + { series emphasize " " * number * } + { series emphasize } + if$ + } + { + number empty$ not + { series " " * number * } + { series } + if$ + } + if$ + } + { + number empty$ not + { bbl.number capitalize "~" * number * } + { "" } + if$ + } + if$ +} + + + +FUNCTION {format.inproc.booktitle.volume.pages} +{ + booktitle empty$ not + { + volume empty$ not + { + volumes empty$ not + { + pages empty$ not + { + format.booktitle " " * + volume * ": " * pages * add.period$ + " " * volumes * "~" * bbl.volumes * + } + { + format.booktitle add.period$ + " " * bbl.volume * "~" * volume * bbl.of * " " * volumes * + } + if$ + } + { + pages empty$ not + { + format.booktitle " " * + volume * ": " * pages * + } + { + format.booktitle add.period$ + " " * bbl.volume * "~" * volume * + } + if$ + } + if$ + } + { + volumes empty$ not + { + pages empty$ not + { + format.booktitle " " * + bbl.comma * " " * pages * add.period$ + volumes * "~" * bbl.volumes + } + { + format.booktitle " " * add.period$ + " " * volumes * "~" * bbl.volumes * + } + if$ + } + { + pages empty$ not + { + format.booktitle " " * + bbl.comma * " " * pages * + } + { + format.booktitle + } + if$ + } + if$ + } + if$ + } + { + "" + } + if$ +} + + + +FUNCTION {format.inproc.series.number} +{ + author empty$ not + { + translator empty$ not + { #1 'emph.series := } + { + edition empty$ not + { #1 } + { #0 } + if$ + impression empty$ not + { #1 } + { #0 } + if$ + + 'emph.series := + } + if$ + } + { + edition empty$ not + { #1 } + { #0 } + if$ + impression empty$ not + { #1 } + { #0 } + if$ + + 'emph.series := + } + if$ + series empty$ not + { + emph.series #0 > + { + number empty$ not + { series emphasize " " * number * } + { series emphasize } + if$ + } + { + number empty$ not + { series " " * number * } + { series } + if$ + } + if$ + } + { + number empty$ not + { bbl.number capitalize "~" * number * } + { "" } + if$ + } + if$ +} + + + +FUNCTION {format.conf.series.number.pages} +{ + series empty$ not + { + number empty$ not + { + pages empty$ not + { + series + bbl.comma * " " * bbl.number * "~" * number * + bbl.comma * " " * pages * + } + { + series + bbl.comma * " " * bbl.number * "~" * number * + } + if$ + } + { + pages empty$ not + { + series + bbl.comma * " " * pages * + } + { series } + if$ + } + if$ + } + { "" } + if$ +} + + + +FUNCTION {format.conf.org.publisher.address} +{ + organization empty$ not + { + publisher empty$ not + { + address empty$ not + { + organization add.period$ + address * ": " * publisher * + } + { + organization add.period$ + publisher * + } + if$ + } + { + address empty$ not + { + organization + bbl.comma * " " * address * + } + { + organization + } + if$ + } + if$ + } + { + publisher empty$ not + { + address empty$ not + { address ": " * publisher *} + { publisher } + if$ + } + { + address empty$ not + { address } + { "" } + if$ + } + if$ + } + if$ +} + + + +FUNCTION {format.proc.org.publisher.address} { format.conf.org.publisher.address } + + + FUNCTION {format.edition} { edition duplicate$ empty$ @@ -1726,14 +2243,6 @@ FUNCTION {format.chapter.pages} -FUNCTION {format.booktitle} -{ - booktitle "booktitle" bibinfo.check - emphasize -} - - - FUNCTION {format.in.ed.booktitle} { format.booktitle @@ -1948,8 +2457,7 @@ FUNCTION {format.book.crossref} FUNCTION {format.incoll.inproc.crossref} { - word.in - " \cite{" * crossref * "}" * + word.in " \cite{" * crossref * "}" * } @@ -1992,6 +2500,13 @@ FUNCTION {format.organization.address} +FUNCTION {format.organization} +{ + organization "organization" bibinfo.check +} + + + STRINGS {oldname} FUNCTION {name.or.dash} @@ -2057,7 +2572,7 @@ FUNCTION {begin.bibitem} -FUNCTION {finish.entry} +FUNCTION {end.bibitem} { add.period$ write$ newline$ @@ -2076,83 +2591,142 @@ FUNCTION {finish.entry} % Function to format entries -FUNCTION {article} -{ begin.bibitem - format.authors "author" output.check - author format.key output - name.or.dash - format.date "year" output.check - date.block - format.title "title" output.check - new.block - crossref missing$ - { - journal - remove.dots - "journal" bibinfo.check - emphasize - "journal" output.check - add.blank - format.vol.num.pages output - } - { format.article.crossref output.nonnull - format.pages output - } - if$ - new.block format.issn output - new.block format.doi output - new.block - format.note output - new.block format.eprint output - new.block format.url output - finish.entry -} - - - -FUNCTION {book} -{ +FUNCTION {article} % THIS ENTRY TYPE IS NOT COMPATIBLE WITH IRAN MANUAL OF STYLE +{ begin.bibitem author empty$ not { format.authors output.nonnull name.or.dash format.date "year" output.check - new.block format.btitle "title" output.check - translator empty$ + new.block format.title "title" output.check + new.sentence format.article.comment output + new.sentence format.by output + crossref missing$ { + new.sentence format.translatedby output + new.sentence format.translateyear output + new.sentence format.edby output + new.sentence format.article.jour.iss.vol.num.pp output + new.sentence format.note output + new.sentence format.issn output + new.sentence format.doi output + new.sentence format.urldate output + new.sentence format.url output + } + { + format.article.crossref output.nonnull + format.pages output + } + if$ + } + { %%% if author is empty, proceeds with editor + editor empty$ not + { + format.editors output.nonnull + name.or.dash + format.date "year" output.check + new.block format.title "title" output.check + new.sentence format.article.comment output + new.sentence format.by output crossref missing$ { - new.sentence format.edition output - new.sentence format.impression output - new.sentence format.by output - new.sentence format.bvolume.series.number output - new.sentence format.incollaborationwith output - new.sentence format.commentatedby output - new.sentence format.compiledby output - new.sentence format.edby output - new.sentence format.introby output - new.sentence format.prefaceby output - new.sentence format.afterwordby output - new.sentence format.publisher.address output + new.sentence format.translatedby output + new.sentence format.translateyear output + new.sentence format.article.jour.iss.vol.num.pp output new.sentence format.note output - new.sentence format.isbn output + new.sentence format.issn output new.sentence format.doi output new.sentence format.urldate output new.sentence format.url output } { - new.block format.book.crossref output.nonnull + format.article.crossref output.nonnull + format.pages output + } + if$ + } + { %%% if author, and editor are empty, proceeds with translator + translator empty$ not + { + format.translators output.nonnull + name.or.dash + new.sentence format.translateyear output + new.block format.title "title" output.check + new.sentence format.article.comment output + new.sentence format.by output + new.sentence format.date output + crossref missing$ + { + new.sentence format.edby output + new.sentence format.article.jour.iss.vol.num.pp output + new.sentence format.note output + new.sentence format.issn output + new.sentence format.doi output + new.sentence format.urldate output + new.sentence format.url output + } + { + format.article.crossref output.nonnull + format.pages output + } + if$ + } + { %%% if author, editor, and translator are empty, proceeds with key + key empty$ not + { + format.title "title" output.nonnull + name.or.dash + format.date "year" output.check + new.sentence format.by output + crossref missing$ + { + new.sentence format.edby output + new.sentence format.article.jour.iss.vol.num.pp output + new.sentence format.note output + new.sentence format.issn output + new.sentence format.doi output + new.sentence format.urldate output + new.sentence format.url output + } + { + format.article.crossref output.nonnull + format.pages output + } + if$ + } + { + "author, translator, and key" output.check + } + if$ } if$ } + if$ + } + if$ + end.bibitem +} + + + +FUNCTION {book} +{ + begin.bibitem + author empty$ not + { + format.authors output.nonnull + name.or.dash + format.date "year" output.check + new.block format.title.in.books "title" output.check + crossref missing$ { new.sentence format.edition output new.sentence format.impression output new.sentence format.by output new.sentence format.translatedby output new.sentence format.translateyear output - new.sentence format.bvolume.series.number output + new.sentence format.book.volume.series.number output new.sentence format.incollaborationwith output new.sentence format.commentatedby output new.sentence format.compiledby output @@ -2167,48 +2741,26 @@ FUNCTION {book} new.sentence format.urldate output new.sentence format.url output } + { + new.block format.book.crossref output.nonnull + } if$ } - { %%% if author field is empty, proceed with compiler + { %%% if author field is empty, proceeds with compiler compiler empty$ not { format.compilers output.nonnull name.or.dash format.date "year" output.check - new.block format.btitle "title" output.check - translator empty$ - { - crossref missing$ - { - new.sentence format.edition output - new.sentence format.impression output - new.sentence format.by output - new.sentence format.bvolume.series.number output - new.sentence format.incollaborationwith output - new.sentence format.commentatedby output - new.sentence format.edby output - new.sentence format.introby output - new.sentence format.prefaceby output - new.sentence format.afterwordby output - new.sentence format.publisher.address output - new.sentence format.note output - new.sentence format.isbn output - new.sentence format.doi output - new.sentence format.urldate output - new.sentence format.url output - } - { - new.block format.book.crossref output.nonnull - } - if$ - } + new.block format.title.in.books "title" output.check + crossref missing$ { new.sentence format.edition output new.sentence format.impression output new.sentence format.by output new.sentence format.translatedby output new.sentence format.translateyear output - new.sentence format.bvolume.series.number output + new.sentence format.book.volume.series.number output new.sentence format.incollaborationwith output new.sentence format.commentatedby output new.sentence format.edby output @@ -2222,47 +2774,26 @@ FUNCTION {book} new.sentence format.urldate output new.sentence format.url output } + { + new.block format.book.crossref output.nonnull + } if$ } - { %%% if author, and compiler fields are empty, proceed with editor + { %%% if author, and compiler fields are empty, proceeds with editor editor empty$ not { format.editors output.nonnull name.or.dash format.date "year" output.check - new.block format.btitle "title" output.check - translator empty$ - { - crossref missing$ - { - new.sentence format.edition output - new.sentence format.impression output - new.sentence format.by output - new.sentence format.bvolume.series.number output - new.sentence format.incollaborationwith output - new.sentence format.commentatedby output - new.sentence format.introby output - new.sentence format.prefaceby output - new.sentence format.afterwordby output - new.sentence format.publisher.address output - new.sentence format.note output - new.sentence format.isbn output - new.sentence format.doi output - new.sentence format.urldate output - new.sentence format.url output - } - { - new.block format.book.crossref output.nonnull - } - if$ - } + new.block format.title.in.books "title" output.check + crossref missing$ { new.sentence format.edition output new.sentence format.impression output new.sentence format.by output new.sentence format.translatedby output new.sentence format.translateyear output - new.sentence format.bvolume.series.number output + new.sentence format.book.volume.series.number output new.sentence format.incollaborationwith output new.sentence format.commentatedby output new.sentence format.introby output @@ -2275,20 +2806,23 @@ FUNCTION {book} new.sentence format.urldate output new.sentence format.url output } + { + new.block format.book.crossref output.nonnull + } if$ } - { %%% if author, compiler, and editor fields are empty, proceed translator + { %%% if author, compiler, and editor fields are empty, proceeds with translator translator empty$ not { format.translators output.nonnull name.or.dash new.sentence format.translateyear output - new.block format.btitle "title" output.check + new.block format.title.in.books "title" output.check new.sentence format.edition output new.sentence format.impression output new.sentence format.by output new.sentence format.date output - new.sentence format.bvolume.series.number output + new.sentence format.book.volume.series.number output new.sentence format.incollaborationwith output new.sentence format.commentatedby output new.sentence format.introby output @@ -2301,17 +2835,18 @@ FUNCTION {book} new.sentence format.urldate output new.sentence format.url output } - { %%% if author, compiler, editor, and translator fields are empty, proceed key + { %%% if author, compiler, editor, and translator fields are empty, proceeds with key key empty$ not { - format.btitle "title" output.check + format.title.in.books "title" output.check + name.or.dash format.date "year" output.check crossref missing$ { new.sentence format.edition output new.sentence format.impression output new.sentence format.by output - new.sentence format.bvolume.series.number output + new.sentence format.book.volume.series.number output new.sentence format.incollaborationwith output new.sentence format.commentatedby output new.sentence format.introby output @@ -2341,13 +2876,14 @@ FUNCTION {book} if$ } if$ - finish.entry + end.bibitem } -FUNCTION {booklet} -{ begin.bibitem +FUNCTION {booklet} % THIS ENTRY TYPE IS NOT COMPATIBLE WITH IRAN MANUAL OF STYLE +{ + begin.bibitem format.authors output author format.key output name.or.dash @@ -2363,13 +2899,14 @@ FUNCTION {booklet} format.note output format.eprint output format.url output - finish.entry + end.bibitem } -FUNCTION {inbook} -{ begin.bibitem +FUNCTION {inbook} % THIS ENTRY TYPE IS NOT COMPATIBLE WITH IRAN MANUAL OF STYLE +{ + begin.bibitem author empty$ { format.editors "author and editor" output.check editor format.key output @@ -2389,7 +2926,7 @@ FUNCTION {inbook} crossref missing$ { format.bvolume output - format.chapter.pages "chapter and pages" output.check + format.chapter.pages output%"chapter and pages" output.check new.block format.number.series output format.edition output @@ -2411,89 +2948,369 @@ FUNCTION {inbook} format.note output format.eprint output format.url output - finish.entry + end.bibitem } FUNCTION {incollection} -{ +{ begin.bibitem - format.authors "author" output.check - author format.key output - name.or.dash - format.date "year" output.check - date.block - format.title "title" output.check - new.block - crossref missing$ + author empty$ not { - format.in.ed.booktitle "booktitle" output.check - format.number.series output - format.edition output - format.chapter.pages output - new.sentence - format.publisher.address output - format.isbn output + format.authors output.nonnull + name.or.dash + format.date "year" output.check + new.block format.title "title" output.check + crossref missing$ + { + new.sentence format.by output + new.sentence format.incoll.chapter.booktitle.volume.pages output + new.sentence format.edition output + new.sentence format.impression output + new.sentence format.translatedby output + new.sentence format.translateyear output + new.sentence format.incoll.series.number output + new.sentence format.compiledby output + new.sentence format.edby output + new.sentence format.publisher.address output + new.sentence format.note output + new.sentence format.isbn output + new.sentence format.doi output + new.sentence format.urldate output + new.sentence format.url output + } + { + new.block format.incoll.inproc.crossref output.nonnull + } + if$ } - { - format.incoll.inproc.crossref output.nonnull - format.chapter.pages output + { %%% if author field is empty, proceeds with compiler + compiler empty$ not + { + format.compilers output.nonnull + name.or.dash + format.date "year" output.check + new.block format.title "title" output.check + crossref missing$ + { + new.sentence format.by output + new.sentence format.incoll.chapter.booktitle.volume.pages output + new.sentence format.edition output + new.sentence format.impression output + new.sentence format.translatedby output + new.sentence format.translateyear output + new.sentence format.incoll.series.number output + new.sentence format.edby output + new.sentence format.publisher.address output + new.sentence format.note output + new.sentence format.isbn output + new.sentence format.doi output + new.sentence format.urldate output + new.sentence format.url output + } + { + new.block format.incoll.inproc.crossref output.nonnull + } + if$ + } + { %%% if author, and compiler fields are empty, proceeds with editor + editor empty$ not + { + format.editors output.nonnull + name.or.dash + format.date "year" output.check + new.block format.title "title" output.check + crossref missing$ + { + new.sentence format.by output + new.sentence format.incoll.chapter.booktitle.volume.pages output + new.sentence format.edition output + new.sentence format.impression output + new.sentence format.translatedby output + new.sentence format.translateyear output + new.sentence format.incoll.series.number output + new.sentence format.publisher.address output + new.sentence format.note output + new.sentence format.isbn output + new.sentence format.doi output + new.sentence format.urldate output + new.sentence format.url output + } + { + new.block format.incoll.inproc.crossref output.nonnull + } + if$ + } + { %%% if author, compiler, and editor fields are empty, proceeds with translator + translator empty$ not + { + format.translators output.nonnull + name.or.dash + new.sentence format.translateyear output + new.block format.title "title" output.check + new.sentence format.by output + new.sentence format.date output + new.sentence format.incoll.chapter.booktitle.volume.pages output + new.sentence format.edition output + new.sentence format.impression output + new.sentence format.incoll.series.number output + new.sentence format.compiledby output + new.sentence format.edby output + new.sentence format.publisher.address output + new.sentence format.note output + new.sentence format.isbn output + new.sentence format.doi output + new.sentence format.urldate output + new.sentence format.url output + } + { %%% if author, compiler, editor, and translator fields are empty, proceeds with key + key empty$ not + { + format.title "title" output.check + name.or.dash + format.date "year" output.check + new.sentence format.by output + crossref missing$ + { + new.sentence format.incoll.chapter.booktitle.volume.pages output + new.sentence format.edition output + new.sentence format.impression output + new.sentence format.incoll.series.number output + new.sentence format.compiledby output + new.sentence format.edby output + new.sentence format.publisher.address output + new.sentence format.note output + new.sentence format.isbn output + new.sentence format.doi output + new.sentence format.urldate output + new.sentence format.url output + } + { + new.block format.incoll.inproc.crossref output.nonnull + } + if$ + } + { + "author, compiler, editor, translator, and key" output.check + } + if$ + } + if$ + } + if$ + } + if$ } if$ - format.doi output - new.block - format.note output - format.eprint output - format.url output - finish.entry + end.bibitem } FUNCTION {inproceedings} -{ begin.bibitem - format.authors "author" output.check - author format.key output - name.or.dash - format.date "year" output.check - date.block - format.title "title" output.check - new.block - crossref missing$ - { format.in.ed.booktitle "booktitle" output.check - format.number.series output - format.pages output - new.sentence - publisher empty$ - { format.organization.address output } - { organization "organization" bibinfo.check output - format.publisher.address output +{ + begin.bibitem + author empty$ not + { + format.authors output.nonnull + name.or.dash + format.date "year" output.check + new.block format.title "title" output.check + new.sentence format.by output + crossref missing$ + { + new.sentence format.inproc.booktitle.volume.pages output + new.sentence format.edition output + new.sentence format.impression output + new.sentence format.translatedby output + new.sentence format.translateyear output + new.sentence format.inproc.series.number output + new.sentence format.compiledby output + new.sentence format.edby output + new.sentence format.publisher.address output + new.sentence format.note output + new.sentence format.isbn output + new.sentence format.issn output + new.sentence format.doi output + new.sentence format.urldate output + new.sentence format.url output + } + { + format.incoll.inproc.crossref output.nonnull + format.pages output } if$ - format.isbn output - format.issn output } - { format.incoll.inproc.crossref output.nonnull - format.pages output + { %%% if author field is empty, proceeds with translator + translator empty$ not + { + format.translators output.nonnull + name.or.dash + new.sentence format.translateyear output + new.block format.title "title" output.check + new.sentence format.by output + new.sentence format.date output + crossref missing$ + { + new.sentence format.inproc.booktitle.volume.pages output + new.sentence format.edition output + new.sentence format.impression output + new.sentence format.inproc.series.number output + new.sentence format.compiledby output + new.sentence format.edby output + new.sentence format.publisher.address output + new.sentence format.note output + new.sentence format.isbn output + new.sentence format.issn output + new.sentence format.doi output + new.sentence format.urldate output + new.sentence format.url output + } + { + format.incoll.inproc.crossref output.nonnull + format.pages output + } + if$ + } + { %%% if author, and translator fields are empty, proceeds with key + key empty$ not + { + format.title "title" output.check + name.or.dash + format.date "year" output.check + new.sentence format.by output + crossref missing$ + { + new.sentence format.inproc.booktitle.volume.pages output + new.sentence format.edition output + new.sentence format.impression output + new.sentence format.inproc.series.number output + new.sentence format.compiledby output + new.sentence format.edby output + new.sentence format.publisher.address output + new.sentence format.note output + new.sentence format.isbn output + new.sentence format.issn output + new.sentence format.doi output + new.sentence format.urldate output + new.sentence format.url output + } + { + format.incoll.inproc.crossref output.nonnull + format.pages output + } + if$ + } + { + "author, translator, and key" output.check + } + if$ + } + if$ } if$ - format.doi output - new.block - format.note output - format.eprint output - format.url output - finish.entry + end.bibitem } -FUNCTION {conference} { inproceedings } +FUNCTION {conference} +{ + begin.bibitem + author empty$ not + { + format.authors output.nonnull + name.or.dash + format.date "year" output.check + new.block format.title "title" output.check + new.sentence format.by output + crossref missing$ + { + new.sentence format.translatedby output + new.sentence format.translateyear output + new.sentence format.conf.series.number.pages output + new.sentence format.edby output + new.sentence format.conf.org.publisher.address output + new.sentence format.note output + new.sentence format.issn output + new.sentence format.doi output + new.sentence format.urldate output + new.sentence format.url output + } + { + format.incoll.inproc.crossref output.nonnull + format.pages output + } + if$ + } + { %%% if author is empty, proceeds with translator + translator empty$ not + { + format.translators output.nonnull + name.or.dash + new.sentence format.translateyear output + new.block format.title "title" output.check + new.sentence format.by output + new.sentence format.date output + crossref missing$ + { + new.sentence format.conf.series.number.pages output + new.sentence format.edby output + new.sentence format.conf.org.publisher.address output + new.sentence format.note output + new.sentence format.issn output + new.sentence format.doi output + new.sentence format.urldate output + new.sentence format.url output + } + { + format.incoll.inproc.crossref output.nonnull + format.pages output + } + if$ + } + { %%% if author, and translator are empty, proceeds with key + key empty$ not + { + format.title "title" output.check + name.or.dash + format.date "year" output.check + new.sentence format.by output + crossref missing$ + { + new.sentence format.conf.series.number.pages output + new.sentence format.edby output + new.sentence format.conf.org.publisher.address output + new.sentence format.note output + new.sentence format.issn output + new.sentence format.doi output + new.sentence format.urldate output + new.sentence format.url output + } + { + format.incoll.inproc.crossref output.nonnull + format.pages output + } + if$ + } + { + "author, translator, and key" output.check + } + if$ + } + if$ + } + if$ + end.bibitem + +} -FUNCTION {manual} -{ begin.bibitem +FUNCTION {manual} % THIS ENTRY TYPE IS NOT COMPATIBLE WITH IRAN MANUAL OF STYLE +{ + begin.bibitem format.authors output author format.key output name.or.dash @@ -2509,13 +3326,14 @@ FUNCTION {manual} format.note output format.eprint output format.url output - finish.entry + end.bibitem } -FUNCTION {mastersthesis} -{ begin.bibitem +FUNCTION {mastersthesis} % THIS ENTRY TYPE IS NOT COMPATIBLE WITH IRAN MANUAL OF STYLE +{ + begin.bibitem format.authors "author" output.check author format.key output name.or.dash @@ -2532,13 +3350,14 @@ FUNCTION {mastersthesis} format.note output format.eprint output format.url output - finish.entry + end.bibitem } -FUNCTION {misc} -{ begin.bibitem +FUNCTION {misc} % THIS ENTRY TYPE IS NOT COMPATIBLE WITH IRAN MANUAL OF STYLE +{ + begin.bibitem format.authors output author format.key output name.or.dash @@ -2552,13 +3371,14 @@ FUNCTION {misc} format.note output format.eprint output format.url output - finish.entry + end.bibitem } -FUNCTION {phdthesis} -{ begin.bibitem +FUNCTION {phdthesis} % THIS ENTRY TYPE IS NOT COMPATIBLE WITH IRAN MANUAL OF STYLE +{ + begin.bibitem format.authors "author" output.check author format.key output name.or.dash @@ -2575,42 +3395,107 @@ FUNCTION {phdthesis} format.note output format.eprint output format.url output - finish.entry + end.bibitem } FUNCTION {proceedings} -{ begin.bibitem - format.editors output - editor format.key output - name.or.dash - format.date "year" output.check - date.block - format.btitle "title" output.check - format.bvolume output - format.number.series output - new.sentence - publisher empty$ - { format.organization.address output } - { organization "organization" bibinfo.check output - format.publisher.address output +{ + begin.bibitem + editor empty$ not + { + format.editors output.nonnull + name.or.dash + format.date "year" output.check + new.block format.title.in.books "title" output.check + new.sentence format.edition output + new.sentence format.impression output + new.sentence format.translatedby output + new.sentence format.translateyear output + new.sentence format.book.volume.series.number output + new.sentence format.compiledby output + new.sentence format.proc.org.publisher.address output + new.sentence format.note output + new.sentence format.isbn output + new.sentence format.issn output + new.sentence format.doi output + new.sentence format.urldate output + new.sentence format.url output + } + { %%% if editor field is empty, proceeds with compiler + compiler empty$ not + { + format.compilers output.nonnull + name.or.dash + format.date "year" output.check + new.block format.title.in.books "title" output.check + new.sentence format.edition output + new.sentence format.impression output + new.sentence format.translatedby output + new.sentence format.translateyear output + new.sentence format.book.volume.series.number output + new.sentence format.proc.org.publisher.address output + new.sentence format.note output + new.sentence format.isbn output + new.sentence format.issn output + new.sentence format.doi output + new.sentence format.urldate output + new.sentence format.url output + } + { %%% if editor, and compiler fields are empty, proceeds with translator + translator empty$ not + { + format.translators output.nonnull + name.or.dash + new.sentence format.translateyear output + new.block format.title.in.books "title" output.check + new.sentence format.edition output + new.sentence format.impression output + new.sentence format.book.volume.series.number output + new.sentence format.proc.org.publisher.address output + new.sentence format.note output + new.sentence format.isbn output + new.sentence format.issn output + new.sentence format.doi output + new.sentence format.urldate output + new.sentence format.url output + } + { + key empty$ not + { + format.title.in.books "title" output.check + name.or.dash + format.date "year" output.check + new.block format.edition output + new.sentence format.impression output + new.sentence format.book.volume.series.number output + new.sentence format.proc.org.publisher.address output + new.sentence format.note output + new.sentence format.isbn output + new.sentence format.issn output + new.sentence format.doi output + new.sentence format.urldate output + new.sentence format.url output + } + { + "editor, compiler, translator, and key" output.check + } + if$ + } + if$ + } + if$ } if$ - format.isbn output - format.issn output - format.doi output - new.block - format.note output - format.eprint output - format.url output - finish.entry + end.bibitem } -FUNCTION {techreport} -{ begin.bibitem +FUNCTION {techreport} % THIS ENTRY TYPE IS NOT COMPATIBLE WITH IRAN MANUAL OF STYLE +{ + begin.bibitem format.authors "author" output.check author format.key output name.or.dash @@ -2627,13 +3512,14 @@ FUNCTION {techreport} format.note output format.eprint output format.url output - finish.entry + end.bibitem } -FUNCTION {unpublished} -{ begin.bibitem +FUNCTION {unpublished} % THIS ENTRY TYPE IS NOT COMPATIBLE WITH IRAN MANUAL OF STYLE +{ + begin.bibitem format.authors "author" output.check author format.key output name.or.dash @@ -2645,7 +3531,7 @@ FUNCTION {unpublished} format.note "note" output.check format.eprint output format.url output - finish.entry + end.bibitem } @@ -2670,7 +3556,7 @@ FUNCTION {sortify} -% Length of the label +% Length of the label name of the entry INTEGERS { len } @@ -2686,7 +3572,7 @@ FUNCTION {chop.word} -% Format the label name +% Function to create the label name of the entry FUNCTION {label.and} { @@ -2745,7 +3631,7 @@ FUNCTION {format.lab.names} " " * label.etal * } { - label.and separate.by.space * s #2 "{vv~}{ll}" format.name$ * + bbl.comma * " " * label.and separate.by.space * s #2 "{vv~}{ll}" format.name$ * } if$ } @@ -2779,35 +3665,115 @@ FUNCTION {author.key.label} 'key if$ } + { author format.lab.names } + if$ +} + +FUNCTION {author.editor.key.label} +{ + author empty$ { - author format.lab.names + editor empty$ + { + key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ } + { author format.lab.names } if$ } -FUNCTION {author.editor.key.label} +FUNCTION {editor.key.label} { - author empty$ not + editor empty$ { - author format.lab.names + key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ } { - compiler empty$ not + editor format.lab.names + } + if$ +} + + + +FUNCTION {article.creator.label.order} +{ + author empty$ not + { author format.lab.names } + { + editor empty$ not + { editor format.lab.names } { - compiler format.lab.names + translator empty$ not + { translator format.lab.names } + { + key empty$ not + 'key + { cite$ #1 #3 substring$ } + if$ + } + if$ } + if$ + } + if$ +} + + + +FUNCTION {book.creator.label.order} +{ + author empty$ not + { author format.lab.names } + { + compiler empty$ not + { compiler format.lab.names } { editor empty$ not - { - editor format.lab.names - } + { editor format.lab.names } { translator empty$ not + { translator format.lab.names } { - translator format.lab.names + key empty$ not + 'key + { cite$ #1 #3 substring$ } + if$ } + if$ + } + if$ + } + if$ + } + if$ +} + + + +FUNCTION {incoll.creator.label.order} +{ + author empty$ not + { author format.lab.names } + { + compiler empty$ not + { compiler format.lab.names } + { + editor empty$ not + { editor format.lab.names } + { + translator empty$ not + { translator format.lab.names } { key empty$ not 'key @@ -2825,17 +3791,65 @@ FUNCTION {author.editor.key.label} -FUNCTION {editor.key.label} +FUNCTION {proc.creator.label.order} { - editor empty$ + editor empty$ not + { editor format.lab.names } { - key empty$ - { cite$ #1 #3 substring$ } - 'key + compiler empty$ not + { compiler format.lab.names } + { + translator empty$ not + { translator format.lab.names } + { + key empty$ not + 'key + { cite$ #1 #3 substring$ } + if$ + } + if$ + } if$ } + if$ +} + + + +FUNCTION {conf.creator.label.order} +{ + author empty$ not + { author format.lab.names } { - editor format.lab.names + translator empty$ not + { translator format.lab.names } + { + key empty$ not + 'key + { cite$ #1 #3 substring$ } + if$ + } + if$ + } + if$ +} + + + +FUNCTION {inproc.creator.label.order} +{ + author empty$ not + { author format.lab.names } + { + translator empty$ not + { translator format.lab.names } + { + key empty$ not + 'key + { cite$ #1 #3 substring$ } + if$ + } + if$ } if$ } @@ -2844,14 +3858,37 @@ FUNCTION {editor.key.label} FUNCTION {calc.short.authors} { - type$ "book" = - type$ "inbook" = - or - 'author.editor.key.label + type$ "article" = + 'article.creator.label.order { - type$ "proceedings" = - 'editor.key.label - 'author.key.label + type$ "book" = + 'book.creator.label.order + { + type "incollection" = + 'incoll.creator.label.order + { + type$ "proceedings" = + 'proc.creator.label.order + { + type "conference" = + 'conf.creator.label.order + { + type "inproceedings" = + 'inproc.creator.label.order + { + type "inbook" = + 'author.editor.key.label + 'author.key.label + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } if$ } if$ @@ -2983,15 +4020,95 @@ FUNCTION {author.sort} { key sortify } if$ } + { author sort.format.names } + if$ +} + + + + +FUNCTION {author.editor.sort} +{ + author empty$ + { + editor empty$ + { + key empty$ + { + "to sort, need author, editor, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ + } + { author sort.format.names } + if$ +} + + + +FUNCTION {editor.sort} +{ + editor empty$ + { + key empty$ + { + "to sort, need editor or key in " cite$ * warning$ + "" + } + { + key sortify + } + if$ + } + { + editor sort.format.names + } + if$ +} + + + +FUNCTION {article.creator.sort.order} +{ + author empty$ not { author sort.format.names } + { + editor empty$ not + { + editor sort.format.names + } + { + translator empty$ not + { + translator sort.format.names + } + { + key empty$ not + { + key sortify + } + { + "to sort, need author, editor, translator, or key in " cite$ * warning$ + "" + } + if$ + } + if$ + } + if$ + } if$ } -FUNCTION {author.editor.sort} +FUNCTION {book.creator.sort.order} { author empty$ not { @@ -3034,22 +4151,108 @@ FUNCTION {author.editor.sort} -FUNCTION {editor.sort} +FUNCTION {incoll.creator.sort.order} { - editor empty$ + author empty$ not { - key empty$ + author sort.format.names + } + { + compiler empty$ not { - "to sort, need editor or key in " cite$ * warning$ - "" + compiler sort.format.names } { - key sortify + editor empty$ not + { + editor sort.format.names + } + { + translator empty$ not + { + translator sort.format.names + } + { + key empty$ not + { + key sortify + } + { + "to sort, need author, compiler, editor, translator, or key in " cite$ * warning$ + "" + } + if$ + } + if$ + } + if$ } if$ } + if$ +} + + + +FUNCTION {proc.creator.sort.order} +{ + editor empty$ not + { editor sort.format.names } { - editor sort.format.names + compiler empty$ not + { compiler sort.format.names } + { + translator empty$ not + { translator sort.format.names } + { + key empty$ not + 'key + { cite$ #1 #3 substring$ } + if$ + } + if$ + } + if$ + } + if$ +} + + + +FUNCTION {conf.creator.sort.order} +{ + author empty$ not + { author sort.format.names } + { + translator empty$ not + { translator sort.format.names } + { + key empty$ not + 'key + { cite$ #1 #3 substring$ } + if$ + } + if$ + } + if$ +} + + + +FUNCTION {inproc.creator.sort.order} +{ + author empty$ not + { author sort.format.names } + { + translator empty$ not + { translator sort.format.names } + { + key empty$ not + 'key + { cite$ #1 #3 substring$ } + if$ + } + if$ } if$ } @@ -3062,14 +4265,37 @@ FUNCTION {presort} label sortify " " * - type$ "book" = - type$ "inbook" = - or - 'author.editor.sort + type$ "article" = + 'article.creator.sort.order { - type$ "proceedings" = - 'editor.sort - 'author.sort + type$ "book" = + 'book.creator.sort.order + { + type "incollection" = + 'incoll.creator.sort.order + { + type$ "proceedings" = + 'proc.creator.sort.order + { + type "conference" = + 'conf.creator.sort.order + { + type "inproceedings" = + 'inproc.creator.sort.order + { + type "inbook" = + 'author.editor.sort + 'author.sort + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } if$ } if$ |