diff options
author | Karl Berry <karl@freefriends.org> | 2015-03-14 22:59:12 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2015-03-14 22:59:12 +0000 |
commit | 9c90dced35ede94c9693dfc8cdf67cbd4537caf1 (patch) | |
tree | 4e6d8f3a468277c2c14f80c3ca9589d39eecdc14 /Master | |
parent | 320806c04be3fba38b75ff06979e45316ce84047 (diff) |
persian-bib (14mar15)
git-svn-id: svn://tug.org/texlive/trunk@36511 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
16 files changed, 2936 insertions, 54 deletions
diff --git a/Master/texmf-dist/bibtex/bst/persian-bib/acm-fa.bst b/Master/texmf-dist/bibtex/bst/persian-bib/acm-fa.bst index 48784e924e7..034109cd9c6 100644 --- a/Master/texmf-dist/bibtex/bst/persian-bib/acm-fa.bst +++ b/Master/texmf-dist/bibtex/bst/persian-bib/acm-fa.bst @@ -2,7 +2,7 @@ %% Bib. style "acm-fa", Persian (farsi) version of acm.bst %% %% by: Mahmood Amintoosi and Mostafa Vahedi, m.amintoosi@gmail.com -%% For XePersian, a Persian Typsetting Package in XeTeX +%% For XePersian, a Persian Typesetting Package in XeTeX %% It may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either this version %% of this license or (at your option) any later version. @@ -48,8 +48,8 @@ FUNCTION {is.print.banners.to.terminal} { #1 } %% FILE VERSION AND BANNER %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%% -FUNCTION{bst.file.version} { "0.6" } -FUNCTION{bst.file.date} { "2011/07/01" } +FUNCTION{bst.file.version} { "0.8" } +FUNCTION{bst.file.date} { "2015/03/14" } FUNCTION{bst.file.website} { "http://www.parsilatex.com" } FUNCTION{bst.file.authors} {"M.Amintoosi and M.Vahedi" } diff --git a/Master/texmf-dist/bibtex/bst/persian-bib/asa-fa.bst b/Master/texmf-dist/bibtex/bst/persian-bib/asa-fa.bst index 551c1cdacee..8c6526d0a96 100644 --- a/Master/texmf-dist/bibtex/bst/persian-bib/asa-fa.bst +++ b/Master/texmf-dist/bibtex/bst/persian-bib/asa-fa.bst @@ -3,8 +3,8 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Bib. style "asa-fa", Persian (farsi) version of asa.bst %% -%% by: Mahmood Amintoosi, m.amintoosi@gmail.com -%% For XePersian, a Persian Typsetting Package in XeTeX +%% by: Mahmood Amintoosi, m.amintoosi@gmail.com, www.parsilatex.com +%% For XePersian, a Persian Typesetting Package in XeTeX %% It may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either this version %% of this license or (at your option) any later version. @@ -98,8 +98,8 @@ FUNCTION {is.print.banners.to.terminal} { #1 } %% FILE VERSION AND BANNER %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%% -FUNCTION{bst.file.version} { "0.6" } -FUNCTION{bst.file.date} { "2011/07/01" } +FUNCTION{bst.file.version} { "0.8" } +FUNCTION{bst.file.date} { "2015/03/14" } FUNCTION{bst.file.website} { "http://www.parsilatex.com" } FUNCTION{bst.file.authors} {"M.Amintoosi" } diff --git a/Master/texmf-dist/bibtex/bst/persian-bib/chicago-fa.bst b/Master/texmf-dist/bibtex/bst/persian-bib/chicago-fa.bst index 9969bfa29a2..7d2be330304 100644 --- a/Master/texmf-dist/bibtex/bst/persian-bib/chicago-fa.bst +++ b/Master/texmf-dist/bibtex/bst/persian-bib/chicago-fa.bst @@ -1,8 +1,8 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Bib. style "chicago-fa", Persian (farsi) version of chicago.bst %% -%% by: Mahmood Amintoosi, m.amintoosi@gmail.com -%% For XePersian, a Persian Typsetting Package in XeTeX +%% by: Mahmood Amintoosi, m.amintoosi@gmail.com, www.parsilatex.com +%% For XePersian, a Persian Typesetting Package in XeTeX %% It may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either this version %% of this license or (at your option) any later version. @@ -197,8 +197,8 @@ FUNCTION {is.print.banners.to.terminal} { #1 } %% FILE VERSION AND BANNER %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%% -FUNCTION{bst.file.version} { "0.6" } -FUNCTION{bst.file.date} { "2011/07/01" } +FUNCTION{bst.file.version} { "0.8" } +FUNCTION{bst.file.date} { "2015/03/14" } FUNCTION{bst.file.website} { "http://www.parsilatex.com" } FUNCTION{bst.file.authors} {"M.Amintoosi" } diff --git a/Master/texmf-dist/bibtex/bst/persian-bib/ieeetr-fa.bst b/Master/texmf-dist/bibtex/bst/persian-bib/ieeetr-fa.bst index e1c1cbe6f8f..f8442fceb6c 100644 --- a/Master/texmf-dist/bibtex/bst/persian-bib/ieeetr-fa.bst +++ b/Master/texmf-dist/bibtex/bst/persian-bib/ieeetr-fa.bst @@ -2,7 +2,7 @@ %% Bib. style "ieeetr-fa", Persian (farsi) version of ieeetr.bst %% %% by: Mahmood Amintoosi and Mostafa Vahedi, m.amintoosi@gmail.com -%% For XePersian, a Persian Typsetting Package in XeTeX +%% For XePersian, a Persian Typesetting Package in XeTeX %% It may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either this version %% of this license or (at your option) any later version. @@ -47,8 +47,8 @@ FUNCTION {is.print.banners.to.terminal} { #1 } %% FILE VERSION AND BANNER %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%% -FUNCTION{bst.file.version} { "0.6" } -FUNCTION{bst.file.date} { "2011/07/01" } +FUNCTION{bst.file.version} { "0.8" } +FUNCTION{bst.file.date} { "2015/03/14" } FUNCTION{bst.file.website} { "http://www.parsilatex.com" } FUNCTION{bst.file.authors} {"M.Amintoosi and M.Vahedi" } diff --git a/Master/texmf-dist/bibtex/bst/persian-bib/plain-fa-inLTR-beamer.bst b/Master/texmf-dist/bibtex/bst/persian-bib/plain-fa-inLTR-beamer.bst new file mode 100644 index 00000000000..cbcb15c4750 --- /dev/null +++ b/Master/texmf-dist/bibtex/bst/persian-bib/plain-fa-inLTR-beamer.bst @@ -0,0 +1,1395 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Bib. style "plain-fa-inLTR-beamer", Persian (farsi) version of plain.bst +%% +%% by: Mahmood Amintoosi, m.amintoosi@gmail.com, www.parsilatex.com +%% For XePersian, a Persian Typesetting Package in XeTeX +%% It may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either this version +%% of this license or (at your option) any later version. +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +%% Original Copyright + +ENTRY + { address + author + booktitle + chapter + edition + editor + howpublished + institution + journal + key + language + month + note + number + organization + pages + publisher + school + series + title + translator + type + volume + year + } + {} + { label } + +INTEGERS { output.state before.all mid.sentence after.sentence after.block } +FUNCTION {is.print.banners.to.terminal} { #1 } +%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% FILE VERSION AND BANNER %% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION{bst.file.version} { "0.8" } +FUNCTION{bst.file.date} { "2015/03/14" } +FUNCTION{bst.file.website} { "http://www.parsilatex.com" } +FUNCTION{bst.file.authors} {"M.Amintoosi" } + +FUNCTION {banner.message} +{ is.print.banners.to.terminal + { "-- plain-fa-inLTR.bst version" " " * bst.file.version * + " (" * bst.file.date * ") " * %"by " * bst.file.authors * + top$ + "-- This is a BibTeX style for XePersian: " bst.file.website * + %top$ + %"-- See the " quote$ * "Persian-bib-userguide.pdf" * quote$ * " manual for usage information." * + top$ + } + { skip$ } + if$ +} + +FUNCTION {completed.message} +{ is.print.banners.to.terminal + { "" + top$ + "Done." + top$ + } + { skip$ } + if$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Persian Functions %% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {fa.isPersianLanguage} +{ + language missing$ + {#0} + {language "l" change.case$ "persian" =} + if$ +} + + % Here are the language-specific definitions for explicit words. + % Each function has a name bbl.xxx where xxx is the English word. + % The languages selected here is ENGLISH and Farsi +FUNCTION {bbl.and} +{ + fa.isPersianLanguage + {" و "} + {" and "} + if$ +} + +FUNCTION {bbl.editors} +{ +fa.isPersianLanguage + { " ویراستاران "} + {" eds. "} +if$ +} + +FUNCTION {bbl.editor} +{ +fa.isPersianLanguage + { " ویراستار "} + {" ed. " } +if$ +} + +FUNCTION {bbl.edby} +{ +fa.isPersianLanguage + { " ویراستهی "} + { " edited by " } +if$ +} + +FUNCTION {bbl.edition} +{ +fa.isPersianLanguage + {" ویرایش "} + {" ed. " } +if$ +} + +FUNCTION {bbl.volume} +{ +fa.isPersianLanguage + {" جلد "} + { " vol."} +if$ +} + +FUNCTION {bbl.of} +{ +fa.isPersianLanguage + { " از "} + { " of " } +if$ +} + +FUNCTION {bbl.number} +{ +fa.isPersianLanguage + {" شماره " } + { " no." } +if$ +} + +FUNCTION {bbl.nr} +{ +fa.isPersianLanguage + {" شماره "} + { " no." } +if$ +} + +FUNCTION {bbl.in} +{ +fa.isPersianLanguage + {" در "} + { " in " } +if$ +} + +FUNCTION {bbl.pages} +{ +fa.isPersianLanguage + {" صفحات "} + { " pp." } +if$ +} + +FUNCTION {bbl.page} +{ +fa.isPersianLanguage + {" ص." } + { " p." } +if$ +} + +FUNCTION {bbl.chapter} +{ +fa.isPersianLanguage + { " فصل " } + {" chap." } +if$ +} + +FUNCTION {bbl.techrep} +{ +fa.isPersianLanguage + { " گزارش طرح تحقیقی"} + { " Tech. Rep." } +if$ +} + +FUNCTION {bbl.mthesis} +{ +fa.isPersianLanguage + {" پایاننامه کارشناسیارشد"} + { " Master's thesis" } +if$ +} + +FUNCTION {bbl.phdthesis} +{ +fa.isPersianLanguage + {" پایاننامه دکترا" } + { " Ph.D. thesis" } +if$ +} + +FUNCTION {bbl.etal} +{ + fa.isPersianLanguage + {" و دیگران"} + {" et~al."} + if$ +} + +FUNCTION {bbl.translator} +{ + fa.isPersianLanguage + {"ترجمهی "} + {"Translator "} + if$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% End of Persian Functions %% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := +} + +STRINGS { s t } + +FUNCTION {output.nonnull} +{ 's := + output.state mid.sentence = + { ", " * write$ } + { output.state after.block = +{ add.period$ write$ + newline$ + fa.isPersianLanguage + {"\newRAblock {}" write$ } + {"\newblock " write$} + if$} +{ output.state before.all = + 'write$ + { add.period$ " " * write$ } + if$ +} + if$ + mid.sentence 'output.state := + } + if$ + s +} + +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} + +FUNCTION {output.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} + +FUNCTION {output.bibitem} +{ + newline$ + fa.isPersianLanguage + { + "\begin{RTLbibitems}" write$ + newline$ + } + { skip$ } + if$ + newline$ + "\bibitem{" write$ + cite$ write$ + "}" write$ + newline$ + fa.isPersianLanguage + { + "\Persiantext{" write$ + newline$ + } + { + skip$ + } + if$ + "" + before.all 'output.state := +} + +FUNCTION {fin.entry} +{ add.period$ + write$ + newline$ + fa.isPersianLanguage + { + "}" write$ + newline$ + newline$ + "\end{RTLbibitems}" write$ + newline$ + } + {skip$} + if$ +} + +FUNCTION {new.block} +{ output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} + +FUNCTION {new.sentence} +{ output.state after.block = + 'skip$ + { output.state before.all = +'skip$ +{ after.sentence 'output.state := } + if$ + } + if$ +} + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} + +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} + +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} + +FUNCTION {new.block.checka} +{ empty$ + 'skip$ + 'new.block + if$ +} + +FUNCTION {new.block.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.block + if$ +} + +FUNCTION {new.sentence.checka} +{ empty$ + 'skip$ + 'new.sentence + if$ +} + +FUNCTION {new.sentence.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.sentence + if$ +} + +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} + +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { "{\em " swap$ * "}" * } + if$ +} + +INTEGERS { nameptr namesleft numnames } + +FUNCTION {format.names} +{ 's := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { + s nameptr "{vv~}{ll}{, jj}{, ff}" format.name$ 't := %{ff~}{vv~}{ll}{, jj} + %fa.isPersianLanguage + % {s nameptr "{vv~}{ll}{, jj}{, ff}" format.name$ 't := %{ff~}{vv~}{ll}{, jj} + % } + % {s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ 't := + %if$ + nameptr #1 > +{ namesleft #1 > + { ", " * t * } + { numnames #2 > + { "," * } + 'skip$ + if$ + t "others" = + { bbl.etal * } + { bbl.and * t * } + if$ + } + if$ +} +'t + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {format.authors} +{ author empty$ + { "" } + { author format.names } + if$ +} + +FUNCTION {format.editors} +{ editor empty$ + { "" } + { fa.isPersianLanguage + { +editor num.names$ #1 > +{bbl.editors editor format.names * } +{bbl.editor editor format.names * } +if$ +} +{ + editor format.names +editor num.names$ #1 > +{ ", " bbl.editors * *} +{ ", " bbl.editor * *} +if$ +} + if$ + } + if$ +} + +FUNCTION {format.translators} +{ translator empty$ + { "" } + { fa.isPersianLanguage + { +bbl.translator translator format.names * +} +{ + translator format.names +", " bbl.translator * * +} + if$ + } + if$ +} + +FUNCTION {format.title} +{ title empty$ + { "" } + { title "t" change.case$ } + if$ +} + +FUNCTION {n.dashify} +{ 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = +{ t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } +{ "-" * + t #2 global.max$ substring$ 't := +} + while$ + } + if$ +} +{ t #1 #1 substring$ * + t #2 global.max$ substring$ 't := +} + if$ + } + while$ +} + +FUNCTION {format.date} +{ year empty$ + { month empty$ +{ "" } +{ "there's a month but no year in " cite$ * warning$ + month +} + if$ + } + { month empty$ +'year +{ month " " * year * } + if$ + } + if$ +} + +FUNCTION {format.btitle} +{ title emphasize +} + +FUNCTION {tie.or.space.connect} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +FUNCTION {format.bvolume} +{ volume empty$ + { "" } + { bbl.volume volume tie.or.space.connect + series empty$ +'skip$ +{ bbl.of * series emphasize * } + if$ + "volume and number" number either.or.check + } + if$ +} + +FUNCTION {format.number.series} +{ volume empty$ + { number empty$ +{ series field.or.null } +{ output.state mid.sentence = + { bbl.number } + { bbl.number "t" change.case$ } + if$ + number tie.or.space.connect + series empty$ + { "there's a number but no series in " cite$ * warning$ } + { bbl.in * series * } + if$ +} + if$ + } + { "" } + if$ +} + +FUNCTION {format.edition} +{ edition empty$ + { "" } + { fa.isPersianLanguage + { + bbl.edition edition * +} +{ + output.state mid.sentence = + { edition "l" change.case$ bbl.edition * } + { edition "t" change.case$ bbl.edition * } + if$ +} + if$ + } + if$ +} + +INTEGERS { multiresult } + +FUNCTION {multi.page.check} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or +{ #1 'multiresult := } +{ t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} + +FUNCTION {format.pages} +{ pages empty$ + { "" } + { pages multi.page.check + { bbl.pages pages n.dashify tie.or.space.connect } + { bbl.page pages tie.or.space.connect } + if$ + } + if$ +} + +FUNCTION {format.vol.num.pages} +{ volume field.or.null + number empty$ + 'skip$ + { "(" number * ")" * * + volume empty$ +{ "there's a number but no volume in " cite$ * warning$ } +'skip$ + if$ + } + if$ + pages empty$ + 'skip$ + { duplicate$ empty$ +{ pop$ format.pages } +{ ":" * pages n.dashify * } + if$ + } + if$ +} + +FUNCTION {format.chapter.pages} +{ chapter empty$ + 'format.pages + { type empty$ +{ bbl.chapter } +{ type "l" change.case$ } + if$ + chapter tie.or.space.connect + pages empty$ +'skip$ +{ ", " * format.pages * } + if$ + } + if$ +} + +FUNCTION {format.in.ed.booktitle} +{ + booktitle empty$ + { "" } + { editor empty$ + { bbl.in booktitle emphasize * } + { bbl.in format.editors * ", " * booktitle emphasize * } + if$ +} + if$ +} + +FUNCTION {empty.misc.check} +{ author empty$ title empty$ howpublished empty$ + month empty$ year empty$ note empty$ + and and and and and + key empty$ not and + { "all relevant fields are empty in " cite$ * warning$ } + 'skip$ + if$ +} + +FUNCTION {format.thesis.type} +{ type empty$ + 'skip$ + { pop$ + type "t" change.case$ + } + if$ +} + +FUNCTION {format.tr.number} +{ type empty$ + { bbl.techrep } + 'type + if$ + number empty$ + { "t" change.case$ } + { number tie.or.space.connect } + if$ +} + +FUNCTION {format.article.crossref} +{ key empty$ + { journal empty$ +{ "need key or journal for " cite$ * " to crossref " * crossref * + warning$ + "" +} +{ bbl.in "{\em " * journal * "\/}" * } + if$ + } + { bbl.in key * } + if$ + " \cite{" * crossref * "}" * +} + +FUNCTION {format.crossref.editor} +{ editor #1 "{vv~}{ll}" format.name$ + editor num.names$ duplicate$ #2 > + { pop$ bbl.etal * } + { #2 < 'skip$ + { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =%"{ff }{vv }{ll}{ jj}" + { bbl.etal * } + { bbl.and * editor #2 "{vv~}{ll}" format.name$ * } + if$ + } + if$ + } + if$ +} + +FUNCTION {format.book.crossref} +{ volume empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + bbl.in + } + { bbl.volume volume tie.or.space.connect + bbl.of * + } + if$ + editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ +{ series empty$ + { "need editor, key, or series for " cite$ * " to crossref " * + crossref * warning$ + "" * + } + { "{\em " * series * "\/}" * } + if$ +} +{ key * } + if$ + } + { format.crossref.editor * } + if$ + " \cite{" * crossref * "}" * +} + +FUNCTION {format.incoll.inproc.crossref} +{ editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ +{ booktitle empty$ + { "need editor, key, or booktitle for " cite$ * " to crossref " * + crossref * warning$ + "" + } + { bbl.in " {\em " * booktitle * "\/}" * } + if$ +} +{ bbl.in key * } + if$ + } + { bbl.in format.crossref.editor * } + if$ + " \cite{" * crossref * "}" * +} + +FUNCTION {article} +{ output.bibitem + format.authors "author" output.check + new.block + format.title "title" output.check + new.block + crossref missing$ + { journal emphasize "journal" output.check + format.vol.num.pages output + format.date "year" output.check + } + { format.article.crossref output.nonnull + format.pages output + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {book} +{ output.bibitem + fa.isPersianLanguage + { +format.authors output + new.block + format.btitle "title" output.check +new.block + format.translators output +format.editors output + } + { author empty$ + { format.editors "author and editor" output.check } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + new.block + format.btitle "title" output.check + } + if$ + crossref missing$ + { format.bvolume output + new.block + format.number.series output + new.sentence + publisher "publisher" output.check + address output + } + { new.block + format.book.crossref output.nonnull + } + if$ + format.edition output + format.date "year" output.check + new.block + note output + fin.entry +} + +FUNCTION {booklet} +{ output.bibitem + format.authors output + new.block + format.title "title" output.check + howpublished address new.block.checkb + howpublished output + address output + format.date output + new.block + note output + fin.entry +} + +FUNCTION {inbook} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check } + { format.authors output.nonnull + crossref missing$ +{ "author and editor" editor either.or.check } +'skip$ + if$ + } + if$ + new.block + format.btitle "title" output.check + crossref missing$ + { format.bvolume output + format.chapter.pages "chapter and pages" output.check + new.block + format.number.series output + new.sentence + publisher "publisher" output.check + address output + } + { format.chapter.pages "chapter and pages" output.check + new.block + format.book.crossref output.nonnull + } + if$ + format.edition output + format.date "year" output.check + new.block + note output + fin.entry +} + +FUNCTION {incollection} +{ output.bibitem + format.authors "author" output.check + new.block + format.title "title" output.check + new.block + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.bvolume output + format.number.series output + format.chapter.pages output + new.sentence + publisher "publisher" output.check + address output + format.edition output + format.date "year" output.check + } + { format.incoll.inproc.crossref output.nonnull + format.chapter.pages output + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {inproceedings} +{ output.bibitem + format.authors "author" output.check + new.block + format.title "title" output.check + new.block + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.bvolume output + format.number.series output + format.pages output + address empty$ +{ organization publisher new.sentence.checkb + organization output + publisher output + format.date "year" output.check +} +{ address output.nonnull + format.date "year" output.check + new.sentence + organization output + publisher output +} + if$ + } + { format.incoll.inproc.crossref output.nonnull + format.pages output + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {conference} { inproceedings } + +FUNCTION {manual} +{ output.bibitem + author empty$ + { organization empty$ +'skip$ +{ organization output.nonnull + address output +} + if$ + } + { format.authors output.nonnull } + if$ + new.block + format.btitle "title" output.check + author empty$ + { organization empty$ +{ address new.block.checka + address output +} +'skip$ + if$ + } + { organization address new.block.checkb + organization output + address output + } + if$ + format.edition output + format.date output + new.block + note output + fin.entry +} + +FUNCTION {mastersthesis} +{ output.bibitem + format.authors "author" output.check + new.block + format.title "title" output.check + new.block + bbl.mthesis + format.thesis.type output.nonnull + school "school" output.check + address output + format.date "year" output.check + new.block + note output + fin.entry +} + +FUNCTION {misc} +{ output.bibitem + format.authors output + title howpublished new.block.checkb + format.title output + howpublished new.block.checka + howpublished output + format.date output + new.block + note output + fin.entry + empty.misc.check +} + +FUNCTION {phdthesis} +{ output.bibitem + format.authors "author" output.check + new.block + format.btitle "title" output.check + new.block + bbl.phdthesis + format.thesis.type output.nonnull + school "school" output.check + address output + format.date "year" output.check + new.block + note output + fin.entry +} + +FUNCTION {proceedings} +{ output.bibitem + editor empty$ + { organization output } + { format.editors output.nonnull } + if$ + new.block + format.btitle "title" output.check + format.bvolume output + format.number.series output + address empty$ + { editor empty$ +{ publisher new.sentence.checka } +{ organization publisher new.sentence.checkb + organization output +} + if$ + publisher output + format.date "year" output.check + } + { address output.nonnull + format.date "year" output.check + new.sentence + editor empty$ +'skip$ +{ organization output } + if$ + publisher output + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {techreport} +{ output.bibitem + format.authors "author" output.check + new.block + format.title "title" output.check + new.block + format.tr.number output.nonnull + institution "institution" output.check + address output + format.date "year" output.check + new.block + note output + fin.entry +} + +FUNCTION {unpublished} +{ output.bibitem + format.authors "author" output.check + new.block + format.title "title" output.check + new.block + note "note" output.check + format.date output + fin.entry +} + +FUNCTION {default.type} { misc } + +MACRO {jan} {"January"} + +MACRO {feb} {"February"} + +MACRO {mar} {"March"} + +MACRO {apr} {"April"} + +MACRO {may} {"May"} + +MACRO {jun} {"June"} + +MACRO {jul} {"July"} + +MACRO {aug} {"August"} + +MACRO {sep} {"September"} + +MACRO {oct} {"October"} + +MACRO {nov} {"November"} + +MACRO {dec} {"December"} + +MACRO {acmcs} {"ACM Computing Surveys"} + +MACRO {acta} {"Acta Informatica"} + +MACRO {cacm} {"Communications of the ACM"} + +MACRO {ibmjrd} {"IBM Journal of Research and Development"} + +MACRO {ibmsj} {"IBM Systems Journal"} + +MACRO {ieeese} {"IEEE Transactions on Software Engineering"} + +MACRO {ieeetc} {"IEEE Transactions on Computers"} + +MACRO {ieeetcad} + {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} + +MACRO {ipl} {"Information Processing Letters"} + +MACRO {jacm} {"Journal of the ACM"} + +MACRO {jcss} {"Journal of Computer and System Sciences"} + +MACRO {scp} {"Science of Computer Programming"} + +MACRO {sicomp} {"SIAM Journal on Computing"} + +MACRO {tocs} {"ACM Transactions on Computer Systems"} + +MACRO {tods} {"ACM Transactions on Database Systems"} + +MACRO {tog} {"ACM Transactions on Graphics"} + +MACRO {toms} {"ACM Transactions on Mathematical Software"} + +MACRO {toois} {"ACM Transactions on Office Information Systems"} + +MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"} + +MACRO {tcs} {"Theoretical Computer Science"} + +READ + +FUNCTION {sortify} +{ + fa.isPersianLanguage + { "l" change.case$} + {purify$ "l" change.case$} + if$ + %duplicate$ write$ +} + +INTEGERS { len } + +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} + +FUNCTION {sort.format.names} +{ 's := + #1 'nameptr := + "" + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { nameptr #1 > + { " " * } + 'skip$ + if$ + s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't := + nameptr numnames = t "others" = and + { bbl.etal * } + %{ t write$ t sortify * t write$ } + { t sortify * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {sort.format.title} +{ 't := + "A " #2 + "An " #3 + "The " #4 t chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} + +FUNCTION {author.sort} +{ author empty$ + { key empty$ + { "to sort, need author or key in " cite$ * warning$ + "" + } + { 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 {author.organization.sort} +{ author empty$ + { organization empty$ +{ key empty$ + { "to sort, need author, organization, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ +} +{ "The " #4 organization chop.word sortify } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {editor.organization.sort} +{ editor empty$ + { organization empty$ +{ key empty$ + { "to sort, need editor, organization, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ +} +{ "The " #4 organization chop.word sortify } + if$ + } + { editor sort.format.names } + if$ +} + +FUNCTION {presort} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.sort + { type$ "proceedings" = +'editor.organization.sort +{ type$ "manual" = + 'author.organization.sort + 'author.sort + if$ +} + if$ + } + if$ + " " + * + year field.or.null sortify + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {presort} + +SORT + +STRINGS { longest.label } + +INTEGERS { number.label longest.label.width } + +FUNCTION {initialize.longest.label} +{ "" 'longest.label := + #1 'number.label := + #0 'longest.label.width := +} + +FUNCTION {longest.label.pass} +{ number.label int.to.str$ 'label := + number.label #1 + 'number.label := + label width$ longest.label.width > + { label 'longest.label := + label width$ 'longest.label.width := + } + 'skip$ + if$ +} + +EXECUTE {banner.message} +EXECUTE {initialize.longest.label} + +ITERATE {longest.label.pass} + +FUNCTION {begin.bib} +{ + "% Generated by plain-fa-inLTR.bst, version: " bst.file.version * " (" * bst.file.date * ")" * + write$ newline$ + "% Authors: " bst.file.authors * + write$ newline$ + "\providecommand{\noopsort}[1]{}" + write$ newline$ + preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}{" longest.label * "}" * write$ newline$ +} + +EXECUTE {begin.bib} + +EXECUTE {init.state.consts} + +ITERATE {call.type$} + +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} + +EXECUTE {end.bib} +EXECUTE{completed.message} +%% End of file `plain-fa-inLTR.bst'. diff --git a/Master/texmf-dist/bibtex/bst/persian-bib/plain-fa-inLTR.bst b/Master/texmf-dist/bibtex/bst/persian-bib/plain-fa-inLTR.bst new file mode 100644 index 00000000000..aa7d92f35d1 --- /dev/null +++ b/Master/texmf-dist/bibtex/bst/persian-bib/plain-fa-inLTR.bst @@ -0,0 +1,1393 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Bib. style "plain-fa-inLTR", Persian (farsi) version of plain.bst +%% +%% by: Mahmood Amintoosi, m.amintoosi@gmail.com, www.parsilatex.com +%% For XePersian, a Persian Typesetting Package in XeTeX +%% It may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either this version +%% of this license or (at your option) any later version. +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +%% Original Copyright + +ENTRY + { address + author + booktitle + chapter + edition + editor + howpublished + institution + journal + key + language + month + note + number + organization + pages + publisher + school + series + title + translator + type + volume + year + } + {} + { label } + +INTEGERS { output.state before.all mid.sentence after.sentence after.block } +FUNCTION {is.print.banners.to.terminal} { #1 } +%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% FILE VERSION AND BANNER %% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION{bst.file.version} { "0.8" } +FUNCTION{bst.file.date} { "2015/03/14" } +FUNCTION{bst.file.website} { "http://www.parsilatex.com" } +FUNCTION{bst.file.authors} {"M.Amintoosi" } + +FUNCTION {banner.message} +{ is.print.banners.to.terminal + { "-- plain-fa-inLTR.bst version" " " * bst.file.version * + " (" * bst.file.date * ") " * %"by " * bst.file.authors * + top$ + "-- This is a BibTeX style for XePersian: " bst.file.website * + %top$ + %"-- See the " quote$ * "Persian-bib-userguide.pdf" * quote$ * " manual for usage information." * + top$ + } + { skip$ } + if$ +} + +FUNCTION {completed.message} +{ is.print.banners.to.terminal + { "" + top$ + "Done." + top$ + } + { skip$ } + if$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Persian Functions %% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {fa.isPersianLanguage} +{ + language missing$ + {#0} + {language "l" change.case$ "persian" =} + if$ +} + + % Here are the language-specific definitions for explicit words. + % Each function has a name bbl.xxx where xxx is the English word. + % The languages selected here is ENGLISH and Farsi +FUNCTION {bbl.and} +{ + fa.isPersianLanguage + {" و "} + {" and "} + if$ +} + +FUNCTION {bbl.editors} +{ +fa.isPersianLanguage + { " ویراستاران "} + {" eds. "} +if$ +} + +FUNCTION {bbl.editor} +{ +fa.isPersianLanguage + { " ویراستار "} + {" ed. " } +if$ +} + +FUNCTION {bbl.edby} +{ +fa.isPersianLanguage + { " ویراستهی "} + { " edited by " } +if$ +} + +FUNCTION {bbl.edition} +{ +fa.isPersianLanguage + {" ویرایش "} + {" ed. " } +if$ +} + +FUNCTION {bbl.volume} +{ +fa.isPersianLanguage + {" جلد "} + { " vol."} +if$ +} + +FUNCTION {bbl.of} +{ +fa.isPersianLanguage + { " از "} + { " of " } +if$ +} + +FUNCTION {bbl.number} +{ +fa.isPersianLanguage + {" شماره " } + { " no." } +if$ +} + +FUNCTION {bbl.nr} +{ +fa.isPersianLanguage + {" شماره "} + { " no." } +if$ +} + +FUNCTION {bbl.in} +{ +fa.isPersianLanguage + {" در "} + { " in " } +if$ +} + +FUNCTION {bbl.pages} +{ +fa.isPersianLanguage + {" صفحات "} + { " pp." } +if$ +} + +FUNCTION {bbl.page} +{ +fa.isPersianLanguage + {" ص." } + { " p." } +if$ +} + +FUNCTION {bbl.chapter} +{ +fa.isPersianLanguage + { " فصل " } + {" chap." } +if$ +} + +FUNCTION {bbl.techrep} +{ +fa.isPersianLanguage + { " گزارش طرح تحقیقی"} + { " Tech. Rep." } +if$ +} + +FUNCTION {bbl.mthesis} +{ +fa.isPersianLanguage + {" پایاننامه کارشناسیارشد"} + { " Master's thesis" } +if$ +} + +FUNCTION {bbl.phdthesis} +{ +fa.isPersianLanguage + {" پایاننامه دکترا" } + { " Ph.D. thesis" } +if$ +} + +FUNCTION {bbl.etal} +{ + fa.isPersianLanguage + {" و دیگران"} + {" et~al."} + if$ +} + +FUNCTION {bbl.translator} +{ + fa.isPersianLanguage + {"ترجمهی "} + {"Translator "} + if$ +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% End of Persian Functions %% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := +} + +STRINGS { s t } + +FUNCTION {output.nonnull} +{ 's := + output.state mid.sentence = + { ", " * write$ } + { output.state after.block = +{ add.period$ write$ + newline$ + "\newblock " write$ +} +{ output.state before.all = + 'write$ + { add.period$ " " * write$ } + if$ +} + if$ + mid.sentence 'output.state := + } + if$ + s +} + +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} + +FUNCTION {output.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} + +FUNCTION {output.bibitem} +{ + newline$ + fa.isPersianLanguage + { + "\begin{RTLbibitems}" write$ + newline$ + } + { skip$ } + if$ + newline$ + "\bibitem{" write$ + cite$ write$ + "}" write$ + newline$ + fa.isPersianLanguage + { + "\Persiantext{" write$ + newline$ + } + { + skip$ + } + if$ + "" + before.all 'output.state := +} + +FUNCTION {fin.entry} +{ add.period$ + write$ + newline$ + fa.isPersianLanguage + { + "}" write$ + newline$ + newline$ + "\end{RTLbibitems}" write$ + newline$ + } + {skip$} + if$ +} + +FUNCTION {new.block} +{ output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} + +FUNCTION {new.sentence} +{ output.state after.block = + 'skip$ + { output.state before.all = +'skip$ +{ after.sentence 'output.state := } + if$ + } + if$ +} + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} + +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} + +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} + +FUNCTION {new.block.checka} +{ empty$ + 'skip$ + 'new.block + if$ +} + +FUNCTION {new.block.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.block + if$ +} + +FUNCTION {new.sentence.checka} +{ empty$ + 'skip$ + 'new.sentence + if$ +} + +FUNCTION {new.sentence.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.sentence + if$ +} + +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} + +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { "{\em " swap$ * "}" * } + if$ +} + +INTEGERS { nameptr namesleft numnames } + +FUNCTION {format.names} +{ 's := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { + s nameptr "{vv~}{ll}{, jj}{, ff}" format.name$ 't := %{ff~}{vv~}{ll}{, jj} + %fa.isPersianLanguage + % {s nameptr "{vv~}{ll}{, jj}{, ff}" format.name$ 't := %{ff~}{vv~}{ll}{, jj} + % } + % {s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ 't := + %if$ + nameptr #1 > +{ namesleft #1 > + { ", " * t * } + { numnames #2 > + { "," * } + 'skip$ + if$ + t "others" = + { bbl.etal * } + { bbl.and * t * } + if$ + } + if$ +} +'t + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {format.authors} +{ author empty$ + { "" } + { author format.names } + if$ +} + +FUNCTION {format.editors} +{ editor empty$ + { "" } + { fa.isPersianLanguage + { +editor num.names$ #1 > +{bbl.editors editor format.names * } +{bbl.editor editor format.names * } +if$ +} +{ + editor format.names +editor num.names$ #1 > +{ ", " bbl.editors * *} +{ ", " bbl.editor * *} +if$ +} + if$ + } + if$ +} + +FUNCTION {format.translators} +{ translator empty$ + { "" } + { fa.isPersianLanguage + { +bbl.translator translator format.names * +} +{ + translator format.names +", " bbl.translator * * +} + if$ + } + if$ +} + +FUNCTION {format.title} +{ title empty$ + { "" } + { title "t" change.case$ } + if$ +} + +FUNCTION {n.dashify} +{ 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = +{ t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } +{ "-" * + t #2 global.max$ substring$ 't := +} + while$ + } + if$ +} +{ t #1 #1 substring$ * + t #2 global.max$ substring$ 't := +} + if$ + } + while$ +} + +FUNCTION {format.date} +{ year empty$ + { month empty$ +{ "" } +{ "there's a month but no year in " cite$ * warning$ + month +} + if$ + } + { month empty$ +'year +{ month " " * year * } + if$ + } + if$ +} + +FUNCTION {format.btitle} +{ title emphasize +} + +FUNCTION {tie.or.space.connect} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +FUNCTION {format.bvolume} +{ volume empty$ + { "" } + { bbl.volume volume tie.or.space.connect + series empty$ +'skip$ +{ bbl.of * series emphasize * } + if$ + "volume and number" number either.or.check + } + if$ +} + +FUNCTION {format.number.series} +{ volume empty$ + { number empty$ +{ series field.or.null } +{ output.state mid.sentence = + { bbl.number } + { bbl.number "t" change.case$ } + if$ + number tie.or.space.connect + series empty$ + { "there's a number but no series in " cite$ * warning$ } + { bbl.in * series * } + if$ +} + if$ + } + { "" } + if$ +} + +FUNCTION {format.edition} +{ edition empty$ + { "" } + { fa.isPersianLanguage + { + bbl.edition edition * +} +{ + output.state mid.sentence = + { edition "l" change.case$ bbl.edition * } + { edition "t" change.case$ bbl.edition * } + if$ +} + if$ + } + if$ +} + +INTEGERS { multiresult } + +FUNCTION {multi.page.check} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or +{ #1 'multiresult := } +{ t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} + +FUNCTION {format.pages} +{ pages empty$ + { "" } + { pages multi.page.check + { bbl.pages pages n.dashify tie.or.space.connect } + { bbl.page pages tie.or.space.connect } + if$ + } + if$ +} + +FUNCTION {format.vol.num.pages} +{ volume field.or.null + number empty$ + 'skip$ + { "(" number * ")" * * + volume empty$ +{ "there's a number but no volume in " cite$ * warning$ } +'skip$ + if$ + } + if$ + pages empty$ + 'skip$ + { duplicate$ empty$ +{ pop$ format.pages } +{ ":" * pages n.dashify * } + if$ + } + if$ +} + +FUNCTION {format.chapter.pages} +{ chapter empty$ + 'format.pages + { type empty$ +{ bbl.chapter } +{ type "l" change.case$ } + if$ + chapter tie.or.space.connect + pages empty$ +'skip$ +{ ", " * format.pages * } + if$ + } + if$ +} + +FUNCTION {format.in.ed.booktitle} +{ + booktitle empty$ + { "" } + { editor empty$ + { bbl.in booktitle emphasize * } + { bbl.in format.editors * ", " * booktitle emphasize * } + if$ +} + if$ +} + +FUNCTION {empty.misc.check} +{ author empty$ title empty$ howpublished empty$ + month empty$ year empty$ note empty$ + and and and and and + key empty$ not and + { "all relevant fields are empty in " cite$ * warning$ } + 'skip$ + if$ +} + +FUNCTION {format.thesis.type} +{ type empty$ + 'skip$ + { pop$ + type "t" change.case$ + } + if$ +} + +FUNCTION {format.tr.number} +{ type empty$ + { bbl.techrep } + 'type + if$ + number empty$ + { "t" change.case$ } + { number tie.or.space.connect } + if$ +} + +FUNCTION {format.article.crossref} +{ key empty$ + { journal empty$ +{ "need key or journal for " cite$ * " to crossref " * crossref * + warning$ + "" +} +{ bbl.in "{\em " * journal * "\/}" * } + if$ + } + { bbl.in key * } + if$ + " \cite{" * crossref * "}" * +} + +FUNCTION {format.crossref.editor} +{ editor #1 "{vv~}{ll}" format.name$ + editor num.names$ duplicate$ #2 > + { pop$ bbl.etal * } + { #2 < 'skip$ + { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =%"{ff }{vv }{ll}{ jj}" + { bbl.etal * } + { bbl.and * editor #2 "{vv~}{ll}" format.name$ * } + if$ + } + if$ + } + if$ +} + +FUNCTION {format.book.crossref} +{ volume empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + bbl.in + } + { bbl.volume volume tie.or.space.connect + bbl.of * + } + if$ + editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ +{ series empty$ + { "need editor, key, or series for " cite$ * " to crossref " * + crossref * warning$ + "" * + } + { "{\em " * series * "\/}" * } + if$ +} +{ key * } + if$ + } + { format.crossref.editor * } + if$ + " \cite{" * crossref * "}" * +} + +FUNCTION {format.incoll.inproc.crossref} +{ editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ +{ booktitle empty$ + { "need editor, key, or booktitle for " cite$ * " to crossref " * + crossref * warning$ + "" + } + { bbl.in " {\em " * booktitle * "\/}" * } + if$ +} +{ bbl.in key * } + if$ + } + { bbl.in format.crossref.editor * } + if$ + " \cite{" * crossref * "}" * +} + +FUNCTION {article} +{ output.bibitem + format.authors "author" output.check + new.block + format.title "title" output.check + new.block + crossref missing$ + { journal emphasize "journal" output.check + format.vol.num.pages output + format.date "year" output.check + } + { format.article.crossref output.nonnull + format.pages output + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {book} +{ output.bibitem + fa.isPersianLanguage + { +format.authors output + new.block + format.btitle "title" output.check +new.block + format.translators output +format.editors output + } + { author empty$ + { format.editors "author and editor" output.check } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + new.block + format.btitle "title" output.check + } + if$ + crossref missing$ + { format.bvolume output + new.block + format.number.series output + new.sentence + publisher "publisher" output.check + address output + } + { new.block + format.book.crossref output.nonnull + } + if$ + format.edition output + format.date "year" output.check + new.block + note output + fin.entry +} + +FUNCTION {booklet} +{ output.bibitem + format.authors output + new.block + format.title "title" output.check + howpublished address new.block.checkb + howpublished output + address output + format.date output + new.block + note output + fin.entry +} + +FUNCTION {inbook} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check } + { format.authors output.nonnull + crossref missing$ +{ "author and editor" editor either.or.check } +'skip$ + if$ + } + if$ + new.block + format.btitle "title" output.check + crossref missing$ + { format.bvolume output + format.chapter.pages "chapter and pages" output.check + new.block + format.number.series output + new.sentence + publisher "publisher" output.check + address output + } + { format.chapter.pages "chapter and pages" output.check + new.block + format.book.crossref output.nonnull + } + if$ + format.edition output + format.date "year" output.check + new.block + note output + fin.entry +} + +FUNCTION {incollection} +{ output.bibitem + format.authors "author" output.check + new.block + format.title "title" output.check + new.block + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.bvolume output + format.number.series output + format.chapter.pages output + new.sentence + publisher "publisher" output.check + address output + format.edition output + format.date "year" output.check + } + { format.incoll.inproc.crossref output.nonnull + format.chapter.pages output + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {inproceedings} +{ output.bibitem + format.authors "author" output.check + new.block + format.title "title" output.check + new.block + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.bvolume output + format.number.series output + format.pages output + address empty$ +{ organization publisher new.sentence.checkb + organization output + publisher output + format.date "year" output.check +} +{ address output.nonnull + format.date "year" output.check + new.sentence + organization output + publisher output +} + if$ + } + { format.incoll.inproc.crossref output.nonnull + format.pages output + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {conference} { inproceedings } + +FUNCTION {manual} +{ output.bibitem + author empty$ + { organization empty$ +'skip$ +{ organization output.nonnull + address output +} + if$ + } + { format.authors output.nonnull } + if$ + new.block + format.btitle "title" output.check + author empty$ + { organization empty$ +{ address new.block.checka + address output +} +'skip$ + if$ + } + { organization address new.block.checkb + organization output + address output + } + if$ + format.edition output + format.date output + new.block + note output + fin.entry +} + +FUNCTION {mastersthesis} +{ output.bibitem + format.authors "author" output.check + new.block + format.title "title" output.check + new.block + bbl.mthesis + format.thesis.type output.nonnull + school "school" output.check + address output + format.date "year" output.check + new.block + note output + fin.entry +} + +FUNCTION {misc} +{ output.bibitem + format.authors output + title howpublished new.block.checkb + format.title output + howpublished new.block.checka + howpublished output + format.date output + new.block + note output + fin.entry + empty.misc.check +} + +FUNCTION {phdthesis} +{ output.bibitem + format.authors "author" output.check + new.block + format.btitle "title" output.check + new.block + bbl.phdthesis + format.thesis.type output.nonnull + school "school" output.check + address output + format.date "year" output.check + new.block + note output + fin.entry +} + +FUNCTION {proceedings} +{ output.bibitem + editor empty$ + { organization output } + { format.editors output.nonnull } + if$ + new.block + format.btitle "title" output.check + format.bvolume output + format.number.series output + address empty$ + { editor empty$ +{ publisher new.sentence.checka } +{ organization publisher new.sentence.checkb + organization output +} + if$ + publisher output + format.date "year" output.check + } + { address output.nonnull + format.date "year" output.check + new.sentence + editor empty$ +'skip$ +{ organization output } + if$ + publisher output + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {techreport} +{ output.bibitem + format.authors "author" output.check + new.block + format.title "title" output.check + new.block + format.tr.number output.nonnull + institution "institution" output.check + address output + format.date "year" output.check + new.block + note output + fin.entry +} + +FUNCTION {unpublished} +{ output.bibitem + format.authors "author" output.check + new.block + format.title "title" output.check + new.block + note "note" output.check + format.date output + fin.entry +} + +FUNCTION {default.type} { misc } + +MACRO {jan} {"January"} + +MACRO {feb} {"February"} + +MACRO {mar} {"March"} + +MACRO {apr} {"April"} + +MACRO {may} {"May"} + +MACRO {jun} {"June"} + +MACRO {jul} {"July"} + +MACRO {aug} {"August"} + +MACRO {sep} {"September"} + +MACRO {oct} {"October"} + +MACRO {nov} {"November"} + +MACRO {dec} {"December"} + +MACRO {acmcs} {"ACM Computing Surveys"} + +MACRO {acta} {"Acta Informatica"} + +MACRO {cacm} {"Communications of the ACM"} + +MACRO {ibmjrd} {"IBM Journal of Research and Development"} + +MACRO {ibmsj} {"IBM Systems Journal"} + +MACRO {ieeese} {"IEEE Transactions on Software Engineering"} + +MACRO {ieeetc} {"IEEE Transactions on Computers"} + +MACRO {ieeetcad} + {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} + +MACRO {ipl} {"Information Processing Letters"} + +MACRO {jacm} {"Journal of the ACM"} + +MACRO {jcss} {"Journal of Computer and System Sciences"} + +MACRO {scp} {"Science of Computer Programming"} + +MACRO {sicomp} {"SIAM Journal on Computing"} + +MACRO {tocs} {"ACM Transactions on Computer Systems"} + +MACRO {tods} {"ACM Transactions on Database Systems"} + +MACRO {tog} {"ACM Transactions on Graphics"} + +MACRO {toms} {"ACM Transactions on Mathematical Software"} + +MACRO {toois} {"ACM Transactions on Office Information Systems"} + +MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"} + +MACRO {tcs} {"Theoretical Computer Science"} + +READ + +FUNCTION {sortify} +{ + fa.isPersianLanguage + { "l" change.case$} + {purify$ "l" change.case$} + if$ + %duplicate$ write$ +} + +INTEGERS { len } + +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} + +FUNCTION {sort.format.names} +{ 's := + #1 'nameptr := + "" + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { nameptr #1 > + { " " * } + 'skip$ + if$ + s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't := + nameptr numnames = t "others" = and + { bbl.etal * } + %{ t write$ t sortify * t write$ } + { t sortify * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {sort.format.title} +{ 't := + "A " #2 + "An " #3 + "The " #4 t chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} + +FUNCTION {author.sort} +{ author empty$ + { key empty$ + { "to sort, need author or key in " cite$ * warning$ + "" + } + { 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 {author.organization.sort} +{ author empty$ + { organization empty$ +{ key empty$ + { "to sort, need author, organization, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ +} +{ "The " #4 organization chop.word sortify } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {editor.organization.sort} +{ editor empty$ + { organization empty$ +{ key empty$ + { "to sort, need editor, organization, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ +} +{ "The " #4 organization chop.word sortify } + if$ + } + { editor sort.format.names } + if$ +} + +FUNCTION {presort} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.sort + { type$ "proceedings" = +'editor.organization.sort +{ type$ "manual" = + 'author.organization.sort + 'author.sort + if$ +} + if$ + } + if$ + " " + * + year field.or.null sortify + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {presort} + +SORT + +STRINGS { longest.label } + +INTEGERS { number.label longest.label.width } + +FUNCTION {initialize.longest.label} +{ "" 'longest.label := + #1 'number.label := + #0 'longest.label.width := +} + +FUNCTION {longest.label.pass} +{ number.label int.to.str$ 'label := + number.label #1 + 'number.label := + label width$ longest.label.width > + { label 'longest.label := + label width$ 'longest.label.width := + } + 'skip$ + if$ +} + +EXECUTE {banner.message} +EXECUTE {initialize.longest.label} + +ITERATE {longest.label.pass} + +FUNCTION {begin.bib} +{ + "% Generated by plain-fa-inLTR.bst, version: " bst.file.version * " (" * bst.file.date * ")" * + write$ newline$ + "% Authors: " bst.file.authors * + write$ newline$ + "\providecommand{\noopsort}[1]{}" + write$ newline$ + preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}{" longest.label * "}" * write$ newline$ +} + +EXECUTE {begin.bib} + +EXECUTE {init.state.consts} + +ITERATE {call.type$} + +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} + +EXECUTE {end.bib} +EXECUTE{completed.message} +%% End of file `plain-fa-inLTR.bst'. diff --git a/Master/texmf-dist/bibtex/bst/persian-bib/plain-fa.bst b/Master/texmf-dist/bibtex/bst/persian-bib/plain-fa.bst index 6308589bd22..49f2ad9d00f 100644 --- a/Master/texmf-dist/bibtex/bst/persian-bib/plain-fa.bst +++ b/Master/texmf-dist/bibtex/bst/persian-bib/plain-fa.bst @@ -2,7 +2,7 @@ %% Bib. style "plain-fa", Persian (farsi) version of plain.bst %% %% by: Mahmood Amintoosi and Mostafa Vahedi -%% For XePersian, a Persian Typsetting Package in XeTeX +%% For XePersian, a Persian Typesetting Package in XeTeX %% It may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either this version %% of this license or (at your option) any later version. @@ -46,8 +46,8 @@ FUNCTION {is.print.banners.to.terminal} { #1 } %% FILE VERSION AND BANNER %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%% -FUNCTION{bst.file.version} { "0.6" } -FUNCTION{bst.file.date} { "2011/07/01" } +FUNCTION{bst.file.version} { "0.8" } +FUNCTION{bst.file.date} { "2015/03/14" } FUNCTION{bst.file.website} { "http://www.parsilatex.com" } FUNCTION{bst.file.authors} {"M.Amintoosi and M.Vahedi" } diff --git a/Master/texmf-dist/bibtex/bst/persian-bib/plainnat-fa.bst b/Master/texmf-dist/bibtex/bst/persian-bib/plainnat-fa.bst index 2ee7debbf7f..beea38aa913 100644 --- a/Master/texmf-dist/bibtex/bst/persian-bib/plainnat-fa.bst +++ b/Master/texmf-dist/bibtex/bst/persian-bib/plainnat-fa.bst @@ -1,8 +1,8 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Bib. style "plainnat-fa", Persian (farsi) version of plainnat.bst %% -%% by: Mahmood Amintoosi, m.amintoosi@gmail.com -%% For XePersian, a Persian Typsetting Package in XeTeX +%% by: Mahmood Amintoosi, m.amintoosi@gmail.com, www.parsilatex.com +%% For XePersian, a Persian Typesetting Package in XeTeX %% It may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either this version %% of this license or (at your option) any later version. diff --git a/Master/texmf-dist/bibtex/bst/persian-bib/unsrt-fa.bst b/Master/texmf-dist/bibtex/bst/persian-bib/unsrt-fa.bst index 438f78b36d7..e1b15ce8143 100644 --- a/Master/texmf-dist/bibtex/bst/persian-bib/unsrt-fa.bst +++ b/Master/texmf-dist/bibtex/bst/persian-bib/unsrt-fa.bst @@ -2,7 +2,7 @@ %% Bib. style "usrt-fa", Persian (farsi) version of unsrt.bst %% %% by: Mahmood Amintoosi and Mostafa Vahedi, m.amintoosi@gmail.com -%% For XePersian, a Persian Typsetting Package in XeTeX +%% For XePersian, a Persian Typesetting Package in XeTeX %% It may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either this version %% of this license or (at your option) any later version. @@ -45,8 +45,8 @@ FUNCTION {is.print.banners.to.terminal} { #1 } %% FILE VERSION AND BANNER %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%% -FUNCTION{bst.file.version} { "0.5" } -FUNCTION{bst.file.date} { "2011/07/01" } +FUNCTION{bst.file.version} { "0.8" } +FUNCTION{bst.file.date} { "2015/03/14" } FUNCTION{bst.file.website} { "http://www.parsilatex.com" } FUNCTION{bst.file.authors} {"M.Amintoosi and M.Vahedi" } diff --git a/Master/texmf-dist/bibtex/csf/persian-bib/cp1256fa.csf b/Master/texmf-dist/bibtex/csf/persian-bib/cp1256fa.csf index f974a947088..1f7048fe462 100644 --- a/Master/texmf-dist/bibtex/csf/persian-bib/cp1256fa.csf +++ b/Master/texmf-dist/bibtex/csf/persian-bib/cp1256fa.csf @@ -2,10 +2,10 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% %% FILE: $RCSfile: cp1256fa.csf,v $ -%% $Revision: 1.0 $ -%% $Date: 2009/12/17 $ +%% $Revision: 1.1 $ +%% $Date: 2015/03/14 $ %% -%% Date: 2009/12/17 +%% Date: 2015/03/14 %% Author:-) Mahmood Amintoosi, m.amintoosi@gmail.com %% %% CHARACTER SET: Farsi (Persian) (CP 1256) @@ -34,6 +34,10 @@ %% Revision 1.0 2009/12/17 %% Initial revision %% +%% Revision 1.1 2015/03/14 +%% Reorder همزه (Move Up), adding ة and separating آ from ا +%% http://www.persianacademy.ir/UserFiles/File/D_Final.zip +%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -198,10 +202,12 @@ %% \order{ ۰-۹ - آ ا أ إ + أ إ ؤ ئ ء + آ + ا ب پ - ت + ت ة ث ج چ @@ -227,9 +233,9 @@ ل م ن - و ؤ + و ه - ی ي ئ + ی ي 0-9 A a B b diff --git a/Master/texmf-dist/doc/xelatex/persian-bib/MyReferences.bib b/Master/texmf-dist/doc/xelatex/persian-bib/MyReferences.bib index eca653aba97..a57dfdf98ab 100644 --- a/Master/texmf-dist/doc/xelatex/persian-bib/MyReferences.bib +++ b/Master/texmf-dist/doc/xelatex/persian-bib/MyReferences.bib @@ -53,8 +53,7 @@ ADDRESS = {تهران، ایران}, month = {اسفند}, pages = {101--108}, - LANGUAGE = {Persian}, - url = {http://www.civilica.com/Paper-ACCSI14-ACCSI14_107.htm} + LANGUAGE = {Persian} } @article{Baker02limits, @@ -93,7 +92,7 @@ @MISC{Khalighi87xepersian, AUTHOR = {خلیقی,وفا}, TITLE = {زیپرشین (\lr{\XePersian}): بسته فارسی برای حروفچینی در \lr{\LaTeX2e}}, - HOWPUBLISHED = {\lr{\href{HTTP://BITBUCKET.ORG/VAFA/XEPERSIAN}{HTTP://BITBUCKET.ORG/VAFA/XEPERSIAN}}}, + HOWPUBLISHED = {\lr{\href{http://ctan.org/pkg/xepersian}{http://ctan.org/pkg/xepersian}}}, YEAR = {۱۳۸۷}, LANGUAGE = {Persian} } diff --git a/Master/texmf-dist/doc/xelatex/persian-bib/Persian-bib-userguide.pdf b/Master/texmf-dist/doc/xelatex/persian-bib/Persian-bib-userguide.pdf Binary files differindex bb916c78bac..629709eb770 100644 --- a/Master/texmf-dist/doc/xelatex/persian-bib/Persian-bib-userguide.pdf +++ b/Master/texmf-dist/doc/xelatex/persian-bib/Persian-bib-userguide.pdf diff --git a/Master/texmf-dist/doc/xelatex/persian-bib/Persian-bib-userguide.tex b/Master/texmf-dist/doc/xelatex/persian-bib/Persian-bib-userguide.tex index e667312b412..cc0dd57ca2d 100644 --- a/Master/texmf-dist/doc/xelatex/persian-bib/Persian-bib-userguide.tex +++ b/Master/texmf-dist/doc/xelatex/persian-bib/Persian-bib-userguide.tex @@ -1,5 +1,7 @@ \documentclass[a4paper]{article} -% محمود امینطوسی، http://webpages.iust.ac.ir/mamintoosi +% محمود امینطوسی، http://profs.hsu.ac.ir/mamintoosi +% To do +% http://qa.parsilatex.com/2551 %\versionnumber{0.6} @@ -9,6 +11,7 @@ \usepackage[linktocpage=true,colorlinks,citecolor=blue,pagebackref=true]{hyperref}% \usepackage[nonamebreak,square]{natbib}%nonamebreak,numbers, \usepackage[top=30mm, bottom=30mm, left=30mm, right=30mm]{geometry} +\usepackage{listings} \usepackage{xepersian} \settextfont[Scale=1]{XB Zar}%{XB Niloofar} @@ -25,17 +28,17 @@ {\small بسم الله الرحمن الرحيم\\} \vspace{2cm} راهنمای استفاده از سبکهای فارسی برای \textcolor{red}{\lr{\textsc{Bib}\TeX}}\\ - در \textcolor{green}{زیپرشین}\\ + در \textcolor{blue}{زیپرشین}\\ \lr{(Persian-bib User Guide)} } \author{محمود امینطوسی و مصطفی واحدی\\ -\lr{http://www.parsilatex.com}\\ +\url{http://www.parsilatex.com}\\ \lr{\{m.amintoosi,mostafa.vahedi\} at gmail.com} } - +\date{} \begin{document} \maketitle -\vspace{2cm} +%\vspace{2cm} \tableofcontents \section{مقدمه} @@ -58,17 +61,29 @@ \section{سبکهای فعلی قابل استفاده در زیپرشین} -در حال حاضر فایلهای سبک زیر برای استفاده در زیپرشین آماده شدهاند\footnote{برای دیدن و مقایسهی خروجی این سبکها کافیست برنامهی پرل \lr{gen\_pdf} را -- که همراه با بستهی \lr{Persian-bib} است -- اجرا کنید تا به صورت خودکار نمونه خروجیهایی با تمام این سبکها تولید نماید.}: +در حال حاضر فایلهای سبک زیر برای استفاده در زیپرشین آماده شدهاند\footnote{برای دیدن و مقایسهی خروجی سبکهای مورد استفاده در اسناد فارسی، کافیست برنامهی پرل \lr{gen\_pdf} را -- که همراه با بستهی \lr{Persian-bib} است -- اجرا کنید تا به صورت خودکار نمونه خروجیهایی با تمام این سبکها تولید نماید و یا به ویکی پارسیلاتک + (\url{http://wiki.parsilatex.com}) + مراجعه فرمایید.}: \begin{description} \item [unsrt-fa.bst] این سبک متناظر با \lr{unsrt.bst} میباشد. مراجع به ترتیب ارجاع در متن ظاهر میشوند. \item [plain-fa.bst] این سبک متناظر با \lr{plain.bst} میباشد. مراجع بر اساس نامخانوادگی نویسندگان، به ترتیب صعودی مرتب میشوند. همچنین ابتدا مراجع فارسی و سپس مراجع انگلیسی خواهند آمد. -\item [acm-fa.bst] این سبک متناظر با \lr{acm.bst} میباشد. شبیه \lr{plain-fa.bst} است. قالب مراجع کمی متفاوت است. اسامی نویسندگان انگلیسی با حروف بزرگ انگلیسی نمایش داده میشوند. -\item [ieeetr-fa.bst] این سبک متناظر با \lr{ieeetr.bst} میباشد. مراجع مرتب نمیشوند. +\item [acm-fa.bst] این سبک متناظر با \lr{acm.bst} میباشد. شبیه \lr{plain-fa.bst} است. قالب مراجع کمی متفاوت است. اسامی نویسندگان انگلیسی با حروف بزرگ انگلیسی نمایش داده میشوند. (مراجع مرتب میشوند) +\item [ieeetr-fa.bst] این سبک متناظر با \lr{ieeetr.bst} میباشد. (مراجع مرتب نمیشوند) %\item [persia-unsorted.bst] این سبک شبیه \lr{ieeetr-fa.bst} میباشد با این تفاوت که برخی نامها با حروف توپر نوشته شدهاند. -\item [plainnat-fa.bst] این سبک متناظر با \lr{plainnat.bst} میباشد. نیاز به بستهٔ \lr{natbib} دارد. -\item [chicago-fa.bst] این سبک متناظر با \lr{chicago.bst} میباشد. نیاز به بستهٔ \lr{natbib} دارد. -\item [asa-fa.bst] این سبک متناظر با \lr{asa.bst} میباشد. نیاز به بستهٔ \lr{natbib} دارد. +\item [plainnat-fa.bst] این سبک متناظر با \lr{plainnat.bst} میباشد. نیاز به بستهٔ \lr{natbib} دارد. (مراجع مرتب میشوند) +\item [chicago-fa.bst] این سبک متناظر با \lr{chicago.bst} میباشد. نیاز به بستهٔ \lr{natbib} دارد. (مراجع مرتب میشوند) +\item [asa-fa.bst] این سبک متناظر با \lr{asa.bst} میباشد. نیاز به بستهٔ \lr{natbib} دارد. (مراجع مرتب میشوند) +\item[plain-fa-inLTR] +این سبک همان سبک +\lr{plain-fa} +میباشد ولی برای اسناد چپ به راست میتواند مورد استفاده قرار گیرد. منظور حالتی است که به عنوان مثال کل سند لاتین است و مایلیم یک یا چند مرجع فارسی هم داشته باشیم. +\item[plain-fa-inLTR-beamer] +این سبک مشابه سبک +\lr{plain-fa-inLTR} +است با این تفاوت که شامل اصلاحاتی جزیی برای استفاده در اسناد چپ به راست طبقه نوشتاری +\lr{beamer} +میباشد. \end{description} @@ -104,7 +119,7 @@ xelatex myfile با قالبی خاص ذخیره میشود. به هر رکورد یک مدخل\LTRfootnote{Entry} گفته میشود. یک نمونه مدخل برای معرفی کتاب \lr{Digital Image Processing} در ادامه آمده است: \begin{LTR} \begin{verbatim} -@BOOK{Gonzalez02image, +@BOOK{Gonzalez02book, AUTHOR = {Rafael Gonzalez and Richard Woods}, TITLE = {Digital Image Processing}, PUBLISHER = {Prentice-Hall, Inc.}, @@ -186,7 +201,8 @@ xelatex myfile \end{latin} نام مؤلفینِ اولین دو نمونه ارجاعِ بخش مثالها (بخش \ref{Sec:examples}) به همین صورت در پاورقی ظاهر شده است. -\item همانگونه که مشاهده میکنید با بستهٔ \lr{hyperref} مشکلی وجود ندارد، البته به شرط داشتن بستهٔ \lr{bidi}نسخهٔ ۱.۰.۴ (\lr{revision} ۱۹۰ به بعد) . فقط یک استثناءوجود دارد و آن هم رنگ مرجع در هنگامی است که قسمتی از اسامی مؤلفین یک مرجع درانتهای یک خط و قسمتی دیگر در ابتدای خط بعد قرار گیرد. در این حالت کل دو خط رنگی میشوند. راه حلی نسبی برای آن با گزینه \lr{nonamebreak} از بستهٔ \lr{natbib} و گزینه کشیده \lr{(Kashida)} از بستهٔ زیپرشین وجود دارد. در \lr{LuaPersian} که سبک فارسی در حال گسترشی توسط آقای خلیقی است این مشکل وجود ندارد. +\item همانگونه که مشاهده میکنید با بستهٔ \lr{hyperref} مشکلی وجود ندارد، البته به شرط داشتن بستهٔ \lr{bidi}نسخهٔ ۱.۰.۴ (\lr{revision} ۱۹۰ به بعد) . فقط یک استثناءوجود دارد و آن هم رنگ مرجع در هنگامی است که قسمتی از اسامی مؤلفین یک مرجع درانتهای یک خط و قسمتی دیگر در ابتدای خط بعد قرار گیرد. در این حالت کل دو خط رنگی میشوند. راه حلی نسبی برای آن با گزینه \lr{nonamebreak} از بستهٔ \lr{natbib} و گزینه کشیده \lr{(Kashida)} از بستهٔ زیپرشین وجود دارد. +%در \lr{LuaPersian} که سبک فارسی در حال گسترشی توسط آقای خلیقی است این مشکل وجود ندارد. %یک مثال را ببینیم:در اینجا چند مرجع پشت سر هم داریم که از یک خط بیشتر شدهاند: \citet{Omidali82phdThesis} و \citealp*{Khalighi87xepersian} و \citet{Amintoosi09precise,Amintoosi87afzayesh} اگر گزینه \lr{nonamebreak} را استفاده نکنید هر دو خط آبی خواهند شد. با استفاده از گزینهٔ مذکور که مربوط به بستهٔ \lr{natbib} است، این مشکل رنگی شدن دو خط برطرف میشود ولی ممکن است تنظیم خط به هم بخورد، کمتر از طول خط شود و یا از حد خارج شود. این مشکل بسیاری از اوقات توسط گزینهٔ کشیده \lr{(Kashida)} در بستهٔ زیپرشین قابل حل است. @@ -204,11 +220,58 @@ xelatex myfile \begin{latin} \LRE{\verb+\LRE{\lr{\citealp{referenceTag}}}+} \end{latin} %\newcommand\LRcite[1]{\LRE{\lr{\cite{#1}}}} +\item +در طبقه نوشتاری +\lr{biditufte-book} +صرفا میتوانید از سبکهای +\lr{plainnat-fa}، \lr{chicago-fa} و \lr{asa-fa} + استفاده فرمایید. -\item برای گزارش مشکل به تالار گفتگوی پارسیلاتک (\url{http://forum.parsilatex.com}) مراجعه فرمایید. +\item برای گزارش مشکل به سایت پرسش و پاسخ پارسیلاتک + (\url{http://qa.parsilatex.com}) + مراجعه فرمایید. \end{itemize} +\section{مراجع فارسی در اسناد لاتین} +برای داشتن مراجع فارسی در اسناد لاتین میتوانید از سبکهای +\lr{plain-fa-inLTR} +و +\lr{plain-fa-inLTR-beamer} +استفاده فرمایید. از آنجا که به احتمال زیاد کاربران این بخش با زبان انگلیسی راحتتر هستند، نحوه استفاده از آن به انگلیسی بیان میشود. +\begin{latin} +Suppose that you want to have Persian or Arabic references in your Left-to-Right document. In this case plain-fa-inLTR.bst in Persian-bib package is the right solution. +You should insert the following codes in the premable of your document and use a the aforementioned style in your documnet: + +\begin{lstlisting}[language=tex,breaklines=true, basicstyle=\ttfamily, numberstyle=\footnotesize, numbersep=10pt, captionpos=b, frame=single, breakatwhitespace=false] +\usepackage{fontspec} +\newfontfamily\Persianfont[Script=Arabic,Scale=1]{A font with Persian glifs such az XB Zar} +\makeatletter +\TeXXeTstate=1 +\def\Persiantext#1{\begingroup\beginR\Persianfont#1\endR\endgroup} +\makeatother +\end{lstlisting} + +Note that the encoding of your .bib file should be UTF-8. As you know, your bibliography section should be as follow: +\begin{verbatim} +\bibliographystyle{plain-fa-inLTR} +\bibliography{SomeReferences} +\end{verbatim} + +If you have Persian references in your beamer presentation, please use `plain-fa-inLTR-beamer' and insert the following code in the premable of your document: + +\begin{lstlisting}[language=tex,breaklines=true, basicstyle=\ttfamily, numberstyle=\footnotesize, numbersep=10pt, captionpos=b, frame=single, breakatwhitespace=false] +\usepackage{fontspec} +\newfontfamily\Persianfont[Script=Arabic,Scale=1]{A font with Persian glifs such az XB Zar} +\makeatletter +\TeXXeTstate=1 +\def\Persiantext#1{\begingroup\beginR\Persianfont#1\hfill\endR\endgroup} +\def\newRAblock#1{#1\hfill} +\makeatother\end{lstlisting} +% + +\end{latin} + \section{پرسش و پاسخ} \begin{question} آیا برای داشتن مراجع، استفاده از استیلهای فارسی الزامی است؟ @@ -270,15 +333,30 @@ xelatex myfile \end{question} \answer بستهی \lr{natbib} را با گزینهی \lr{numbers} فراخوانی نمایید. + + +\begin{question}اگر سند من فارسی و مراجع من انگلیسی باشد و قصد از استیلهای انگلیسی استفاده داشته باشم چگونه عمل کنم؟ + \end{question} +\answer +\begin{LTR} +\begin{verbatim} + \setLTRbibitems + \makeatletter + \bidi@AtBeginEnvironment{thebibliography}{\latinfont} + \makeatother + \bibliographystyle{STYLE_FILE_NAME} % such as plain + \bibliography{BIB_FILE_NAME} %such as MyReferences +\end{verbatim} +\end{LTR} + \begin{question} آخرین نسخههای استیلهای فارسی را از کجا تهیه کنیم؟ \end{question} \answer آخرین نسخهی پایدار استیلهای فارسی با دانلود بستهی \lr{Persian-bib} از آدرس:\\ \lr{\url{http://mirror.ctan.org/biblio/bibtex/contrib/persian-bib.zip}\hfill}\\ قابل استفاده است. آخرین نسخهی در دست توسعهی این استیلها نیز از سایت زیر قابل برداشت است:\\ \lr{\url{https://bitbucket.org/mamintoosi/persian-bib/}\hfill} - \section*{قدردانی} -در اینجا لازم است از آقای \textcolor{blue}{وفا خلیقی} به خاطر زحمات بسیار ایشان در تولید بستهٔ \XePersian، نگهداری از بستهٔ \lr{bidi} و پاسخگویی به سؤالات بسیار کاربران و آقایان دکتر مهدی امیدعلی و مصطفی واحدی که با تلاشهای خود روحی تازه در کالبد لاتک فارسی دمیدند تشکر نمایم. همچنین از سایر دوستانمان مخصوصاً آقایان امیرمسعود پورموسی، سیدرضی علویزاده، هادی صفیاقدم، وحید دامنافشان و محمد چهارسوقی که زحمات زیادی در سایت پارسیلاتک و در جهت توسعهی زیپرشین کشیدند قدردانی مینمایم. از جناب عینیان نیز برای نکته مربوط به زیرنویس نام لاتین نویسندگان سپاسگزاری میکنم. +در اینجا لازم است از آقای \textcolor{blue}{وفا خلیقی} به خاطر زحمات بسیار ایشان در تولید بستهٔ \XePersian، نگهداری از بستهٔ \lr{bidi} و پاسخگویی به سؤالات بسیار کاربران و آقایان دکتر مهدی امیدعلی و مصطفی واحدی که با تلاشهای خود روحی تازه در کالبد لاتک فارسی دمیدند تشکر نمایم. همچنین از سایر دوستانمان مخصوصاً آقایان وحید دامنافشان، فرشاد ترابی، هادی صفیاقدم، سیداحمد موسوی، ابوالفضل دیانت، امیرمسعود پورموسی و سیدرضی علویزاده، که زحمات زیادی در سایت پارسیلاتک و در جهت توسعهی زیپرشین کشیدند قدردانی مینمایم. از جناب عینیان نیز برای نکته مربوط به زیرنویس نام لاتین نویسندگان سپاسگزاری میکنم. \bibliographystyle{asa-fa}%{chicago-fa}%{plainnat-fa}% \bibliography{MyReferences} diff --git a/Master/texmf-dist/doc/xelatex/persian-bib/README b/Master/texmf-dist/doc/xelatex/persian-bib/README index 27e95870691..cdb10011375 100644 --- a/Master/texmf-dist/doc/xelatex/persian-bib/README +++ b/Master/texmf-dist/doc/xelatex/persian-bib/README @@ -1,7 +1,7 @@ -Persian-bib, V0.6 2011/07/10 +Persian-bib, V0.8 2015/03/14 Persian translations of some BibTeX styles -Author: Mahmood Amintoosi, http://profsite.sttu.ac.ir/mamintoosi -Copyright 20092011 +Author: Mahmood Amintoosi, http://profs.hsu.ac.ir/mamintoosi +Copyright 20092016 It may be distributed and/or modified under the LaTeX Project Public License, version 1.3c or higher (your choice). The latest version of this license is at: http://www.latex-project.org/lppl.txt @@ -15,7 +15,9 @@ Unlike bib-fr package which can be used only for French references, the Persian .bst files simultaneously handle both Latin and Persian references. File 'cp1256fa.csf' is prepared for correct sorting of Persian references and -three fields named 'LANGUAGE', 'TRANSLATOR' and 'AUTHORFA' are defined. +three fields named 'LANGUAGE', 'TRANSLATOR' and 'AUTHORFA' are defined. This +file has a bit modification with respect to its previous version (0.6) according +to PersianAcademy: http://www.persianacademy.ir Setting 'LNAGUAGE' to 'Persian' makes the reference direction Left-to-Right and makes BibTeX to use Persian translations of keywords such as 'et al.'. @@ -32,11 +34,19 @@ The user should mention the Persian equivalent of the author(s) name(S), for proper referencing in the text. If this field is omitted, the original author name, in 'AUTHOR' will be used. +Currently 7 files unsrt-fa.bst, acm-fa.bst, ieeetr-fa.bst, plain-fa.bst, +Asa-fa.bst, chicago-fa.bst and plainnat-fa.bst are modified for Persian +documents prepared with XePersian (a Persian typesetting package over XeTeX). +Hence this package is dependent to XePersian Package. +From version 0.8 (2015/03/14), two other styles 'plain-fa-inLTR' and +'plain-fa-inLTR-beamer' are added to the package. These styles are prepared for +inserting Persian references in LTR documents which are dependent to bidi +package. + Current Persian bst files work fine with hyperref and natbib packages. Persian translations of key-words such as 'et al.' can be changed with other translations. If you modify anything, however, please change the name of the file. Mahmood Amintoosi <m.amintoosi@gmail.com> -http://bitbucket.org/mamintoosi/persian-bib/ - +http://www.parsilatex.com/
\ No newline at end of file diff --git a/Master/texmf-dist/doc/xelatex/persian-bib/bibtex-example.pdf b/Master/texmf-dist/doc/xelatex/persian-bib/bibtex-example.pdf Binary files differdeleted file mode 100644 index 58a755473e1..00000000000 --- a/Master/texmf-dist/doc/xelatex/persian-bib/bibtex-example.pdf +++ /dev/null diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds index e62f1b73446..56944851dfc 100755 --- a/Master/tlpkg/libexec/ctan2tds +++ b/Master/tlpkg/libexec/ctan2tds @@ -774,6 +774,7 @@ chomp ($Build = `cd $Master/../Build/source && pwd`); 'pdfrack', "die 'skipping, until someone asks for it'", 'pdfx', "&MAKEflatten", 'pedigree', "die 'skipping, use pedigree-perl'", + 'persian-bib', "&MAKEflatten", 'persian-hm-ftx',"die 'skipping, legality?'", #"&MAKEflatten", 'persian-hm-xbs',"die 'skipping, legality?'", #"&MAKEflatten", 'persian-modern',"die 'skipping, legality?'", #"&MAKEflatten", |