texlive[69137] Master/texmf-dist: iran-bibtex (15dec23)
commits+karl at tug.org
commits+karl at tug.org
Fri Dec 15 23:00:26 CET 2023
Revision: 69137
https://tug.org/svn/texlive?view=revision&revision=69137
Author: karl
Date: 2023-12-15 23:00:26 +0100 (Fri, 15 Dec 2023)
Log Message:
-----------
iran-bibtex (15dec23)
Modified Paths:
--------------
trunk/Master/texmf-dist/bibtex/bst/iran-bibtex/iran.bst
trunk/Master/texmf-dist/doc/bibtex/iran-bibtex/README.md
trunk/Master/texmf-dist/doc/bibtex/iran-bibtex/iran-structure.pdf
trunk/Master/texmf-dist/doc/bibtex/iran-bibtex/iran-structure.tex
trunk/Master/texmf-dist/tex/latex/iran-bibtex/iran-bibtex.sty
Modified: trunk/Master/texmf-dist/bibtex/bst/iran-bibtex/iran.bst
===================================================================
--- trunk/Master/texmf-dist/bibtex/bst/iran-bibtex/iran.bst 2023-12-15 00:42:55 UTC (rev 69136)
+++ trunk/Master/texmf-dist/bibtex/bst/iran-bibtex/iran.bst 2023-12-15 22:00:26 UTC (rev 69137)
@@ -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 @@
by % the added field
chapter
collaboration
+ comment % the added field
commentator % the added field
compiler % the added field
doi
@@ -78,6 +79,7 @@
introduction % the added field
isbn
issn
+ issue % the added field
journal
key
language
@@ -474,8 +476,8 @@
FUNCTION {bbl.techrep}
{
is.language.persian
- {""}
- {""}
+ {"گزارش"}
+ {"tech. rep."}
if$
}
@@ -483,7 +485,7 @@
{
is.language.persian
{"مترجم"}
- {"tran."}
+ {"trans."}
if$
}
@@ -1091,7 +1093,7 @@
doi empty$
{ "" }
{
- bbl.doi "u" change.case$ ": \doi{" * doi * "}" *
+ bbl.doi "u" change.case$ ":\doi{" * doi * "}" *
}
if$
}
@@ -1123,14 +1125,9 @@
FUNCTION {format.title}
{
- title
+ title "title" bibinfo.check
duplicate$ empty$
'skip$
- { "t" change.case$ }
- if$
- "title" bibinfo.check
- duplicate$ empty$
- 'skip$
{
bbl.dquote
}
@@ -1327,19 +1324,113 @@
+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$
+}
+
+
+
FUNCTION {either.or.check}
{
empty$
@@ -1351,27 +1442,18 @@
FUNCTION {format.bvolume}
{
- volume empty$ not
+ volume empty$
+ { "" }
{
- volumes empty$ not
- {
- bbl.volume volume "~" swap$ * *
- bbl.of separate.by.space volumes *
- *
- }
- {
- bbl.volume volume "~" 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
}
- {
- volumes empty$ not
- {
- volumes bbl.volumes "~" swap$ * *
- }
- { "" }
- if$
- }
if$
}
@@ -1378,33 +1460,33 @@
FUNCTION {format.number.series}
{
- series empty$ not
+ volume empty$
{
- number empty$ not
+ number empty$
+ { series field.or.null }
{
- series " " * number *
- }
- { series field.or.null }
- if$
- }
- {
- number empty$ not
- {
- 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 @@
{
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 @@
{
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 @@
{
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 @@
{
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.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.booktitle}
-{
- booktitle "booktitle" bibinfo.check
- emphasize
-}
-
-
-
FUNCTION {format.in.ed.booktitle}
{
format.booktitle
@@ -1948,8 +2457,7 @@
FUNCTION {format.incoll.inproc.crossref}
{
- word.in
- " \cite{" * crossref * "}" *
+ word.in " \cite{" * crossref * "}" *
}
@@ -1992,6 +2500,13 @@
+FUNCTION {format.organization}
+{
+ organization "organization" bibinfo.check
+}
+
+
+
STRINGS {oldname}
FUNCTION {name.or.dash}
@@ -2057,7 +2572,7 @@
-FUNCTION {finish.entry}
+FUNCTION {end.bibitem}
{
add.period$ write$
newline$
@@ -2076,42 +2591,8 @@
% 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
{
@@ -2118,34 +2599,127 @@
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
@@ -2152,7 +2726,7 @@
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 @@
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$
+ new.block format.title.in.books "title" output.check
+ crossref missing$
{
- 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.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 @@
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$
+ new.block format.title.in.books "title" output.check
+ crossref missing$
{
- 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.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 @@
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,10 +2835,11 @@
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$
{
@@ -2311,7 +2846,7 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
format.note "note" output.check
format.eprint output
format.url output
- finish.entry
+ end.bibitem
}
@@ -2670,7 +3556,7 @@
-% Length of the label
+% Length of the label name of the entry
INTEGERS { len }
@@ -2686,7 +3572,7 @@
-% Format the label name
+% Function to create the label name of the entry
FUNCTION {label.and}
{
@@ -2745,7 +3631,7 @@
" " * 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,36 +3665,116 @@
'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}
{
+ editor empty$
+ {
+ key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ {
+ editor format.lab.names
+ }
+ if$
+}
+
+
+
+FUNCTION {article.creator.label.order}
+{
author empty$ not
+ { author format.lab.names }
{
- author format.lab.names
+ editor empty$ not
+ { editor 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 }
{
- compiler format.lab.names
+ editor empty$ not
+ { editor format.lab.names }
+ {
+ translator empty$ not
+ { 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 }
{
- editor format.lab.names
- }
- {
translator empty$ not
+ { translator format.lab.names }
{
- translator format.lab.names
- }
- {
key empty$ not
'key
{ cite$ #1 #3 substring$ }
@@ -2825,17 +3791,45 @@
-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$
}
@@ -2842,16 +3836,59 @@
+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$
+}
+
+
+
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 @@
{ 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,68 @@
-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$
}
@@ -3056,6 +4219,46 @@
+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$
+}
+
+
+
FUNCTION {presort}
{
calc.label
@@ -3062,14 +4265,37 @@
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$
Modified: trunk/Master/texmf-dist/doc/bibtex/iran-bibtex/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/bibtex/iran-bibtex/README.md 2023-12-15 00:42:55 UTC (rev 69136)
+++ trunk/Master/texmf-dist/doc/bibtex/iran-bibtex/README.md 2023-12-15 22:00:26 UTC (rev 69137)
@@ -27,7 +27,16 @@
## 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.
2. Support `@book` entry only
\ No newline at end of file
Modified: trunk/Master/texmf-dist/doc/bibtex/iran-bibtex/iran-structure.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/bibtex/iran-bibtex/iran-structure.tex
===================================================================
--- trunk/Master/texmf-dist/doc/bibtex/iran-bibtex/iran-structure.tex 2023-12-15 00:42:55 UTC (rev 69136)
+++ trunk/Master/texmf-dist/doc/bibtex/iran-bibtex/iran-structure.tex 2023-12-15 22:00:26 UTC (rev 69137)
@@ -10,18 +10,21 @@
\SepMark{-}
-\eqcommand{چر}{lr}
+
+
\begin{document}
\title{خلاصهای از ساختار چیدمان مشخصهها در شیوهی استاددهی {\tt iran.bst}}
-\author{فرشاد رسولی\thanks{رایانامه: \url{farshad.rasuli at gmail.com}}}
-\date{نسخهی ۰٫۱ --- ۲۱ آذر ۱۴۰۲}
+\author{فرشاد رسولی \thanks{رایانامه: \url{farshad.rasuli at 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,32 +126,48 @@
\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}
@@ -75,35 +174,63 @@
-\subsection{کتابهایی که زیر نام گردآورده مرتب میشوند}
-اگر برای مدخل کتاب، مشخصهی \verb|author| وارد نشود، در صورت وجود مشخصهی \verb|compiler|، زیر نام گردآونده مرتب میشود.
+\subsection{کتابهایی که زیر نام مترجم مرتب میشوند}
+اگر برای مدخل کتاب، مشخصههای \verb|author|، \verb|compiler|، و \verb|editor| وارد نشوند، در صورت وجود مشخصهی \verb|translator|، زیر نام مترجم مرتب میشود.
-\subsubsection*{کتابهای ترجمه نشده}
-مدخل کتابی که مشخصهی \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}
+
+
+
+
+
+\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}
@@ -110,35 +237,51 @@
-\subsection{کتابهایی که زیر نام ویراستار مرتب میشوند}
-اگر برای مدخل کتاب، مشخصههای \verb|author|، و \verb|compiler| وارد نشوند، در صورت وجود مشخصهی \verb|editor|، زیر نام ویراستار مرتب میشود.
+\subsection{پارهای از کتاب که زیر نام گردآورنده مرتب میشود}
+اگر برای مدخل \verb|@incollection|، مشخصهی \verb|author| وارد نشود، در صورت وجود مشخصهی \verb|compiler| زیر نام گردآورنده مرتب میشود.
-\subsubsection*{کتابهای ترجمه نشده}
-مدخل کتابی که مشخصهی \verb|translator| آن خالی باشد، به صورت زیر فهرست میشود.
+\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}
+
+
+
+
+
+\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}
@@ -145,17 +288,17 @@
-\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}
@@ -162,20 +305,209 @@
-\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 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 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 …}. تارنما: {\persianttfamily …}.
+{\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}. 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 …}.
+\end{itemize}
+
+
+
+
\end{document}
\ No newline at end of file
Modified: trunk/Master/texmf-dist/tex/latex/iran-bibtex/iran-bibtex.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/iran-bibtex/iran-bibtex.sty 2023-12-15 00:42:55 UTC (rev 69136)
+++ trunk/Master/texmf-dist/tex/latex/iran-bibtex/iran-bibtex.sty 2023-12-15 22:00:26 UTC (rev 69137)
@@ -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 at version{0.1}
-\def\iranbibtexdate{2023/12/12} % December 12th, 2023
+\def\iranbibtex at version{0.2.0}
+\def\iranbibtexdate{2023/12/15} % December 15th, 2023
\def\iranbibtexfirstrelease{2023/12/12} % December 12th, 2023
\edef\@iranbibtex at info{%
****************************************************^^J%
@@ -62,19 +62,8 @@
}
-%% 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}
More information about the tex-live-commits
mailing list.