diff options
author | Karl Berry <karl@freefriends.org> | 2011-07-29 14:11:15 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2011-07-29 14:11:15 +0000 |
commit | 3af8d5df17178a99b098a782c231b0060fd29b4d (patch) | |
tree | a361060a2e13cc7c591b7a0d19e657b67efe1320 | |
parent | a236120bc64ff6dadaf9fcc1494099fcfb7ca7da (diff) |
persian-bib (11jul11)
git-svn-id: svn://tug.org/texlive/trunk@23267 c570f23f-e606-0410-a88d-b1316a301751
14 files changed, 1643 insertions, 778 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 12e0a0ec8ea..48784e924e7 100644 --- a/Master/texmf-dist/bibtex/bst/persian-bib/acm-fa.bst +++ b/Master/texmf-dist/bibtex/bst/persian-bib/acm-fa.bst @@ -3,13 +3,13 @@ %% %% by: Mahmood Amintoosi and Mostafa Vahedi, m.amintoosi@gmail.com %% For XePersian, a Persian Typsetting Package in XeTeX -%% 2010/01/15 %% 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 of acm.bst @@ -43,16 +43,13 @@ ENTRY { label } INTEGERS { output.state before.all mid.sentence after.sentence after.block } -STRINGS {bbl.and bbl.etal bbl.editors bbl.editor bbl.edition bbl.volume bbl.of bbl.number - bbl.in bbl.pages bbl.page bbl.chapter bbl.series bbl.techrep bbl.mthesis bbl.phdthesis - bbl.translator}% bbl.formatnames} FUNCTION {is.print.banners.to.terminal} { #1 } %%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% FILE VERSION AND BANNER %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%% -FUNCTION{bst.file.version} { "0.4" } -FUNCTION{bst.file.date} { "2010/01/15" } +FUNCTION{bst.file.version} { "0.6" } +FUNCTION{bst.file.date} { "2011/07/01" } FUNCTION{bst.file.website} { "http://www.parsilatex.com" } FUNCTION{bst.file.authors} {"M.Amintoosi and M.Vahedi" } @@ -63,7 +60,7 @@ FUNCTION {banner.message} top$ "-- This is a BibTeX style for XePersian: " bst.file.website * %top$ - %"-- See the " quote$ * "bibtex-fa_userguide.pdf" * quote$ * " manual for usage information." * + %"-- See the " quote$ * "Persian-bib-userguide.pdf" * quote$ * " manual for usage information." * top$ } { skip$ } @@ -85,6 +82,7 @@ FUNCTION {completed.message} %% Persian Functions %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%% + FUNCTION {fa.isPersianLanguage} { language missing$ @@ -93,47 +91,151 @@ FUNCTION {fa.isPersianLanguage} if$ } -FUNCTION {keywords.fa} + % 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} { - " و " 'bbl.and := - " و دیگران" 'bbl.etal := - " ویراستاران " 'bbl.editors := - " ویراستهی " 'bbl.editor := - " ویرایش " 'bbl.edition := - " جلد " 'bbl.volume := - " از " 'bbl.of := - " شماره " 'bbl.number := - " در " 'bbl.in := - " صفحات " 'bbl.pages := - " ص." 'bbl.page := - " فصل " 'bbl.chapter := - " سری " 'bbl.series := - " گزارش طرح تحقیقی" 'bbl.techrep := - " پایاننامه کارشناسیارشد" 'bbl.mthesis := - " پایاننامه دکترا" 'bbl.phdthesis := - " ترجمهی " 'bbl.translator := -} - -FUNCTION {keywords.en} +fa.isPersianLanguage + {" جلد "} + { " vol."} +if$ +} + +FUNCTION {bbl.of} +{ +fa.isPersianLanguage + { " از "} + { " of " } +if$ +} + +FUNCTION {bbl.number} { - " and " 'bbl.and := - " et~al." 'bbl.etal := - " Eds." 'bbl.editors := - " Ed." 'bbl.editor := - " Ed." 'bbl.edition := - " Vol." 'bbl.volume := - " of " 'bbl.of := - " No." 'bbl.number := - " In " 'bbl.in := - " pp." 'bbl.pages := - " p." 'bbl.page := - " Ch." 'bbl.chapter := - " Ser." 'bbl.series := - " Tech. Rep." 'bbl.techrep := - " Master's thesis" 'bbl.mthesis := - " Ph.D. thesis" 'bbl.phdthesis := - " Translator " 'bbl.translator := - %"{vv~}{ll}{, jj}{, f.}" 'bbl.formatnames := +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$ } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -189,13 +291,14 @@ FUNCTION {output.bibitem} { newline$ fa.isPersianLanguage - { keywords.fa - "\Persian" write$ - newline$ } - { keywords.en - "\Latin" write$ - newline$ } + { skip$ } + { + "\begin{LTRbibitems}" write$ + newline$ + "\resetlatinfont " write$ + } if$ + newline$ "\bibitem{" write$ cite$ write$ "}" write$ @@ -208,6 +311,13 @@ FUNCTION {fin.entry} { add.period$ write$ newline$ + fa.isPersianLanguage + {skip$} + { newline$ + "\end{LTRbibitems}" write$ + newline$ + } + if$ } FUNCTION {new.block} @@ -800,13 +910,13 @@ FUNCTION {book} { output.bibitem fa.isPersianLanguage { -format.authors output + format.authors output new.block format.btitle "title" output.check format.edition output -new.block + new.block format.translators output -format.editors output + format.editors output } { author empty$ { format.editors "author and editor" output.check } @@ -815,7 +925,7 @@ format.editors output { "author and editor" editor either.or.check } 'skip$ if$ - } + } if$ new.block format.btitle "title" output.check @@ -1319,7 +1429,6 @@ ITERATE {call.type$} FUNCTION {end.bib} { newline$ "\end{thebibliography}" write$ newline$ - "\Persian" write$ newline$ } EXECUTE {end.bib} 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 e05d612db4a..551c1cdacee 100644 --- a/Master/texmf-dist/bibtex/bst/persian-bib/asa-fa.bst +++ b/Master/texmf-dist/bibtex/bst/persian-bib/asa-fa.bst @@ -5,12 +5,12 @@ %% %% by: Mahmood Amintoosi, m.amintoosi@gmail.com %% For XePersian, a Persian Typsetting Package in XeTeX -%% 2010/01/15 %% 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 %% ---------------------------------------- @@ -63,7 +63,7 @@ ENTRY { address author - authorfa + authorfa booktitle chapter edition @@ -72,7 +72,7 @@ ENTRY institution journal key - language + language month note number @@ -82,7 +82,7 @@ ENTRY school series title - translator + translator type volume year @@ -91,14 +91,15 @@ ENTRY { label extra.label sort.label short.list } INTEGERS { output.state before.all mid.sentence after.sentence after.block fa.isInLabel} +% fa.isInLabel is set in format.lab.names FUNCTION {is.print.banners.to.terminal} { #1 } %%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% FILE VERSION AND BANNER %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%% -FUNCTION{bst.file.version} { "0.4" } -FUNCTION{bst.file.date} { "2010/01/15" } +FUNCTION{bst.file.version} { "0.6" } +FUNCTION{bst.file.date} { "2011/07/01" } FUNCTION{bst.file.website} { "http://www.parsilatex.com" } FUNCTION{bst.file.authors} {"M.Amintoosi" } @@ -109,7 +110,7 @@ FUNCTION {banner.message} top$ "-- This is a BibTeX style for XePersian: " bst.file.website * %top$ - %"-- See the " quote$ * "bibtex-fa_userguide.pdf" * quote$ * " manual for usage information." * + %"-- See the " quote$ * "Persian-bib-userguide.pdf" * quote$ * " manual for usage information." * top$ } { skip$ } @@ -131,6 +132,7 @@ FUNCTION {completed.message} %% Persian Functions %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%% + FUNCTION {fa.isPersianLanguage} { language missing$ @@ -139,146 +141,9 @@ FUNCTION {fa.isPersianLanguage} 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 {fin.entry} -{ add.period$ - write$ - newline$ -} - -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 {add.blank} -{ " " * before.all 'output.state := -} - -FUNCTION {date.block} -{ - skip$ -} - -FUNCTION {not} -{ { #0 } - { #1 } - if$ -} - -FUNCTION {and} -{ 'skip$ - { pop$ #0 } - if$ -} - -FUNCTION {or} -{ { pop$ #1 } - 'skip$ - if$ -} - -FUNCTION {non.stop} -{ duplicate$ - "}" * add.period$ - #-1 #1 substring$ "." = -} - -FUNCTION {new.block.checkb} -{ empty$ - swap$ empty$ - and - 'skip$ - 'new.block - if$ -} - -FUNCTION {field.or.null} -{ duplicate$ empty$ - { pop$ "" } - 'skip$ - if$ -} - -FUNCTION {emphasize} -{ duplicate$ empty$ - { pop$ "" } - { "\textit{" swap$ * "}" * } - if$ -} - -FUNCTION {capitalize} -{ "u" change.case$ "t" change.case$ } - -FUNCTION {space.word} -{ " " swap$ * " " * } - % Here are the language-specific definitions for explicit words. % Each function has a name bbl.xxx where xxx is the English word. - % The language selected here is ENGLISH + % The languages selected here is ENGLISH and Farsi FUNCTION {bbl.and} { fa.isInLabel @@ -286,7 +151,7 @@ fa.isInLabel { fa.isPersianLanguage {" و "} - {"and"} + {" and "} if$ } if$ @@ -295,16 +160,16 @@ if$ FUNCTION {bbl.editors} { fa.isPersianLanguage - { " ویراستاران "} - {"eds."} + { "ویراستاران"} + { "eds."} if$ } FUNCTION {bbl.editor} { fa.isPersianLanguage - { " ویراستار "} - {"ed." } + { "ویراستار"} + { "ed." } if$ } @@ -312,7 +177,7 @@ FUNCTION {bbl.edby} { fa.isPersianLanguage { " ویراستهی "} - { "edited by" } + { " edited by " } if$ } @@ -320,7 +185,7 @@ FUNCTION {bbl.edition} { fa.isPersianLanguage {" ویرایش "} - {"ed." } + {" ed. " } if$ } @@ -328,7 +193,7 @@ FUNCTION {bbl.volume} { fa.isPersianLanguage {" جلد "} - { "vol."} + { " vol."} if$ } @@ -336,7 +201,7 @@ FUNCTION {bbl.of} { fa.isPersianLanguage { " از "} - { "of" } + { " of " } if$ } @@ -344,7 +209,7 @@ FUNCTION {bbl.number} { fa.isPersianLanguage {" شماره " } - { "no." } + { " no." } if$ } @@ -352,7 +217,7 @@ FUNCTION {bbl.nr} { fa.isPersianLanguage {" شماره "} - { "no." } + { " no." } if$ } @@ -360,7 +225,7 @@ FUNCTION {bbl.in} { fa.isPersianLanguage {" در "} - { "in" } + { " in " } if$ } @@ -368,7 +233,7 @@ FUNCTION {bbl.pages} { fa.isPersianLanguage {" صفحات "} - { "pp." } + { " pp." } if$ } @@ -376,7 +241,7 @@ FUNCTION {bbl.page} { fa.isPersianLanguage {" ص." } - { "p." } + { " p." } if$ } @@ -384,7 +249,7 @@ FUNCTION {bbl.chapter} { fa.isPersianLanguage { " فصل " } - {"chap." } + {" chap." } if$ } @@ -392,7 +257,7 @@ FUNCTION {bbl.techrep} { fa.isPersianLanguage { " گزارش طرح تحقیقی"} - { "Tech. Rep." } + { " Tech. Rep." } if$ } @@ -400,7 +265,7 @@ FUNCTION {bbl.mthesis} { fa.isPersianLanguage {" پایاننامه کارشناسیارشد"} - { "Master's thesis" } + { " Master's thesis" } if$ } @@ -408,7 +273,7 @@ FUNCTION {bbl.phdthesis} { fa.isPersianLanguage {" پایاننامه دکترا" } - { "Ph.D. thesis" } + { " Ph.D. thesis" } if$ } @@ -443,16 +308,166 @@ FUNCTION {bbl.th} FUNCTION {bbl.etal} { fa.isInLabel -{" و دیگران "}% If authorfa exists +{" و دیگران"}% If authorfa exists { fa.isPersianLanguage - {" و دیگران "} + {" و دیگران"} {" et~al."} if$ } if$ } +FUNCTION {bbl.translator} +{ +fa.isPersianLanguage + { " ترجمهی "} + {" Translated by "} +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 {fin.entry} +{ add.period$ + write$ + newline$ + fa.isPersianLanguage + {skip$} + { newline$ + "\end{LTRbibitems}" write$ + newline$ + } + 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 {add.blank} +{ " " * before.all 'output.state := +} + +FUNCTION {date.block} +{ + skip$ +} + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} + +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} + +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} + +FUNCTION {non.stop} +{ duplicate$ + "}" * add.period$ + #-1 #1 substring$ "." = +} + +FUNCTION {new.block.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.block + if$ +} + +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} + +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { "\textit{" swap$ * "}" * } + if$ +} + +FUNCTION {capitalize} +{ "u" change.case$ "t" change.case$ } + +FUNCTION {space.word} +{ " " swap$ * " " * } MACRO {jan} {"Jan."} @@ -628,11 +643,11 @@ FUNCTION {format.translators} { "" } { fa.isPersianLanguage { - " ترجمهی " translator format.names * + bbl.translator translator format.names * } { translator format.names - ", translated by: " * + bbl.translator * } if$ } @@ -670,7 +685,7 @@ FUNCTION {format.title} { "" } { title fa.isPersianLanguage - {"\faenquote{" swap$ *} + {"\faquote{" swap$ *} {"\enquote{" swap$ *} if$ non.stop @@ -779,18 +794,17 @@ FUNCTION {make.full.names} FUNCTION {output.bibitem} { - #0 'fa.isInLabel := + #0 'fa.isInLabel := %Initialize fa.isInLabel newline$ fa.isPersianLanguage - { - "\Persian" write$ - newline$ - } + { skip$ } { - "\Latin" write$ + "\begin{LTRbibitems}" write$ newline$ - } + "\resetlatinfont " write$ + } if$ + newline$ "\bibitem[{" write$ label write$ ")" make.full.names duplicate$ short.list = @@ -1052,6 +1066,7 @@ FUNCTION {format.in.ed.booktitle} if$ } + FUNCTION {format.thesis.type} { type empty$ 'skip$ @@ -1480,7 +1495,7 @@ FUNCTION {format.lab.names} if$ } if$ - + #0 'fa.isInLabel := %reset fa.isInLabel } FUNCTION {author.key.label} @@ -1735,7 +1750,7 @@ FUNCTION {begin.bib} if$ "\begin{thebibliography}{" number.label int.to.str$ * "}" * write$ newline$ - "\newcommand{\faenquote}[1]{''#1``}" + "\newcommand{\faquote}[1]{''#1``}" write$ newline$ "\newcommand{\enquote}[1]{``#1''}" write$ newline$ @@ -1752,11 +1767,8 @@ ITERATE {call.type$} FUNCTION {end.bib} { newline$ "\end{thebibliography}" write$ newline$ - "\Persian" write$ newline$ } EXECUTE {end.bib} EXECUTE{completed.message} -%% End of customized bst file -%% %% End of file `asa-fa.bst'. 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 e2cde86684a..9969bfa29a2 100644 --- a/Master/texmf-dist/bibtex/bst/persian-bib/chicago-fa.bst +++ b/Master/texmf-dist/bibtex/bst/persian-bib/chicago-fa.bst @@ -3,7 +3,6 @@ %% %% by: Mahmood Amintoosi, m.amintoosi@gmail.com %% For XePersian, a Persian Typsetting Package in XeTeX -%% 2010/01/15 %% 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. @@ -191,17 +190,15 @@ ENTRY {} { label.year extra.label sort.year sort.label } -INTEGERS { output.state before.all mid.sentence after.sentence after.block } -STRINGS {bbl.and bbl.etal bbl.editors bbl.editor bbl.edition bbl.volume bbl.of bbl.number - bbl.in bbl.pages bbl.page bbl.chapter bbl.series bbl.techrep bbl.translator }%bbl.mthesis bbl.phdthesis } +INTEGERS { output.state before.all mid.sentence after.sentence after.block fa.isInLabel} FUNCTION {is.print.banners.to.terminal} { #1 } %%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% FILE VERSION AND BANNER %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%% -FUNCTION{bst.file.version} { "0.4" } -FUNCTION{bst.file.date} { "2010/01/15" } +FUNCTION{bst.file.version} { "0.6" } +FUNCTION{bst.file.date} { "2011/07/01" } FUNCTION{bst.file.website} { "http://www.parsilatex.com" } FUNCTION{bst.file.authors} {"M.Amintoosi" } @@ -212,7 +209,7 @@ FUNCTION {banner.message} top$ "-- This is a BibTeX style for XePersian: " bst.file.website * %top$ - %"-- See the " quote$ * "bibtex-fa_userguide.pdf" * quote$ * " manual for usage information." * + %"-- See the " quote$ * "Persian-bib-userguide.pdf" * quote$ * " manual for usage information." * top$ } { skip$ } @@ -242,47 +239,181 @@ FUNCTION {fa.isPersianLanguage} if$ } -FUNCTION {keywords.fa} + % 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.isInLabel +{" و "}% If authorfa exists +{ + fa.isPersianLanguage + {" و "} + {" and "} + if$ +} +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 + {" جلد "} + { " Volume "} +if$ +} + +FUNCTION {bbl.of} +{ +fa.isPersianLanguage + { " از "} + { " of " } +if$ +} + +FUNCTION {bbl.number} +{ +fa.isPersianLanguage + {" شماره " } + { " Number " } +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} { - " و " 'bbl.and := - " و دیگران" 'bbl.etal := - " ویراستاران " 'bbl.editors := - " ویراستهی " 'bbl.editor := - " ویرایش " 'bbl.edition := - " جلد " 'bbl.volume := - " از " 'bbl.of := - " شماره " 'bbl.number := - " در " 'bbl.in := - " صفحات " 'bbl.pages := - " ص." 'bbl.page := - " فصل " 'bbl.chapter := - " سری " 'bbl.series := - " گزارش طرح تحقیقی" 'bbl.techrep := - %" پایاننامه کارشناسیارشد" 'bbl.mthesis := - %" پایاننامه دکترا" 'bbl.phdthesis := - %" ترجمهی " 'bbl.translator := -} - -FUNCTION {keywords.en} +fa.isPersianLanguage + { " فصل " } + {" chap." } +if$ +} + +FUNCTION {bbl.techrep} +{ +fa.isPersianLanguage + { " گزارش طرح تحقیقی"} + { " Tech. Rep." } +if$ +} + +FUNCTION {bbl.mthesis} +{ +fa.isPersianLanguage + {" پایاننامه کارشناسیارشد"} + { " Master's thesis" } +if$ +} + +FUNCTION {bbl.phdthesis} { - " and " 'bbl.and := - " et~al." 'bbl.etal := - " Eds." 'bbl.editors := - " Ed." 'bbl.editor := - " Ed." 'bbl.edition := - " Vol." 'bbl.volume := - " of " 'bbl.of := - " No." 'bbl.number := - " In " 'bbl.in := - " pp.\ " 'bbl.pages := - " pp.\ " 'bbl.page := - " Ch." 'bbl.chapter := - " Ser." 'bbl.series := - " Tech. Rep." 'bbl.techrep := - %" Master's thesis" 'bbl.mthesis := - %" Ph.D. disseration" 'bbl.phdthesis := - %" Translator " 'bbl.translator := - %"{vv~}{ll}{, jj}{, f.}" 'bbl.formatnames := +fa.isPersianLanguage + {" پایاننامه دکترا" } + { " Ph.D. thesis" } +if$ +} + +FUNCTION {bbl.first} +{ "1st" } + +FUNCTION {bbl.second} +{ "2nd" } + +FUNCTION {bbl.third} +{ "3rd" } + +FUNCTION {bbl.fourth} +{ "4th" } + +FUNCTION {bbl.fifth} +{ "5th" } + +FUNCTION {bbl.st} +{ "st" } + +FUNCTION {bbl.nd} +{ "nd" } + +FUNCTION {bbl.rd} +{ "rd" } + +FUNCTION {bbl.th} +{ "th" } + +% Added by M.Amintoosi +FUNCTION {bbl.etal} +{ +fa.isInLabel +{" و دیگران"}% If authorfa exists +{ + fa.isPersianLanguage + {" و دیگران"} + {" et~al."} + if$ +} +if$ } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -395,6 +526,13 @@ FUNCTION {fin.entry} { add.period$ write$ newline$ + fa.isPersianLanguage + {skip$} + {newline$ + "\end{LTRbibitems}" write$ + newline$ + } + if$ } FUNCTION {new.block} @@ -544,6 +682,7 @@ FUNCTION {format.names} FUNCTION {my.full.label} { 's := + #1 'nameptr := % nameptr = 1; s num.names$ 'numnames := % numnames = num.name$(s); numnames 'namesleft := @@ -976,13 +1115,13 @@ FUNCTION {format.crossref.editor} { editor #1 "{vv~}{ll}" format.name$ editor num.names$ duplicate$ #2 > - { pop$ " et~al." * } + { pop$ bbl.etal * } { #2 < 'skip$ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = - { " et~al." * } - { " and " * editor #2 "{vv~}{ll}" format.name$ * } + { bbl.etal * } + { bbl.and * editor #2 "{vv~}{ll}" format.name$ * } if$ } if$ @@ -1041,6 +1180,17 @@ FUNCTION {format.incoll.inproc.crossref} % FUNCTION {format.lab.names} { 's := + authorfa empty$ + { + %skip$ + #0 'fa.isInLabel := + } + {% If authorfa exists + authorfa 's := + #1 'fa.isInLabel := + } + if$ + s num.names$ 'numnames := numnames #2 > % change number to number of others allowed before % forcing "et al". @@ -1064,26 +1214,11 @@ FUNCTION {format.lab.names} while$ } if$ + #0 'fa.isInLabel := %reset fa.isInLabel } FUNCTION {author.key.label} { - % Push the two variables onto the stack - bbl.etal - bbl.and - authorfa empty$ - { - fa.isPersianLanguage - { - " و دیگران" 'bbl.etal := - " و " 'bbl.and := - } - { - " et~al." 'bbl.etal := - " and " 'bbl.and := - } - if$ - author empty$ { key empty$ { @@ -1094,42 +1229,52 @@ FUNCTION {author.key.label} } { author format.lab.names } if$ - } - { - " و دیگران" 'bbl.etal := - " و " 'bbl.and := - authorfa format.lab.names - } - if$ - - % Pop the function result and store it on s - 's := - % Push the two variables onto the stack - 'bbl.and := - 'bbl.etal := - % push the result into stack - s +% +% % Push the two variables onto the stack +% bbl.etal +% bbl.and +% authorfa empty$ +% { +% fa.isPersianLanguage +% { +% " و دیگران" 'bbl.etal := +% " و " 'bbl.and := +% } +% { +% bbl.etal 'bbl.etal := +% " and " 'bbl.and := +% } +% if$ +% +% author empty$ +% { key empty$ +% { +% "no key, author in " cite$ * warning$ +% cite$ #1 #3 substring$ } +% 'key +% if$ +% } +% { author format.lab.names } +% if$ +% } +% { +% " و دیگران" 'bbl.etal := +% " و " 'bbl.and := +% authorfa format.lab.names +% } +% if$ +% +% % Pop the function result and store it on s +% 's := +% % Push the two variables onto the stack +% 'bbl.and := +% 'bbl.etal := +% % push the result into stack +% s } FUNCTION {editor.key.label} { - % Push the two variables onto the stack - bbl.etal - bbl.and - authorfa empty$ - { - fa.isPersianLanguage - { - " و دیگران" 'bbl.etal := - " و " 'bbl.and := - } - { - " et~al." 'bbl.etal := - " and " 'bbl.and := - } - if$ - - editor empty$ { key empty$ { "no key, editor in " cite$ * warning$ @@ -1139,22 +1284,48 @@ FUNCTION {editor.key.label} } { editor format.lab.names } if$ - - } - { - " و دیگران" 'bbl.etal := - " و " 'bbl.and := - authorfa format.lab.names - } - if$ - - % Pop the function result and store it on s - 's := - % Push the two variables onto the stack - 'bbl.and := - 'bbl.etal := - % push the result into stack - s +% % Push the two variables onto the stack +% bbl.etal +% bbl.and +% authorfa empty$ +% { +% fa.isPersianLanguage +% { +% " و دیگران" 'bbl.etal := +% " و " 'bbl.and := +% } +% { +% bbl.etal 'bbl.etal := +% " and " 'bbl.and := +% } +% if$ +% +% +% editor empty$ +% { key empty$ +% { "no key, editor in " cite$ * warning$ +% cite$ #1 #3 substring$ } +% 'key +% if$ +% } +% { editor format.lab.names } +% if$ +% +% } +% { +% " و دیگران" 'bbl.etal := +% " و " 'bbl.and := +% authorfa format.lab.names +% } +% if$ +% +% % Pop the function result and store it on s +% 's := +% % Push the two variables onto the stack +% 'bbl.and := +% 'bbl.etal := +% % push the result into stack +% s } FUNCTION {author.key.organization.label} @@ -1201,23 +1372,6 @@ FUNCTION {editor.key.organization.label} FUNCTION {author.editor.key.label} { - - % Push the two variables onto the stack - bbl.etal - bbl.and - authorfa empty$ - { - fa.isPersianLanguage - { - " و دیگران" 'bbl.etal := - " و " 'bbl.and := - } - { - " et~al." 'bbl.etal := - " and " 'bbl.and := - } - if$ - author empty$ { editor empty$ { key empty$ @@ -1232,21 +1386,52 @@ FUNCTION {author.editor.key.label} { author format.lab.names } if$ - } - { - " و دیگران" 'bbl.etal := - " و " 'bbl.and := - authorfa format.lab.names - } - if$ - - % Pop the function result and store it on s - 's := - % Push the two variables onto the stack - 'bbl.and := - 'bbl.etal := - % push the result into stack - s +% +% % Push the two variables onto the stack +% bbl.etal +% bbl.and +% authorfa empty$ +% { +% fa.isPersianLanguage +% { +% " و دیگران" 'bbl.etal := +% " و " 'bbl.and := +% } +% { +% bbl.etal 'bbl.etal := +% " and " 'bbl.and := +% } +% if$ +% +% author empty$ +% { editor empty$ +% { key empty$ +% { "no key, author, or editor in " cite$ * warning$ +% cite$ #1 #3 substring$ } +% 'key +% if$ +% } +% { editor format.lab.names } +% if$ +% } +% { author format.lab.names } +% if$ +% +% } +% { +% " و دیگران" 'bbl.etal := +% " و " 'bbl.and := +% authorfa format.lab.names +% } +% if$ +% +% % Pop the function result and store it on s +% 's := +% % Push the two variables onto the stack +% 'bbl.and := +% 'bbl.etal := +% % push the result into stack +% s } FUNCTION {calc.label} @@ -1299,15 +1484,18 @@ FUNCTION {calc.label} } FUNCTION {output.bibitem} -{ newline$ +{ + #0 'fa.isInLabel := %Initialize fa.isInLabel + newline$ fa.isPersianLanguage - { keywords.fa - "\Persian" write$ - newline$ } - { keywords.en - "\Latin" write$ - newline$ } + { skip$ } + { + "\begin{LTRbibitems}" write$ + newline$ + "\resetlatinfont " write$ + } if$ + newline$ "\bibitem[\protect\citeauthoryear{" write$ calc.label write$ @@ -1779,7 +1967,7 @@ FUNCTION {sort.format.names} nameptr numnames = t "others" = and - { " et~al" * } + { bbl.etal * } { t sortify * } if$ @@ -1946,8 +2134,6 @@ INTEGERS { last.extra.num } FUNCTION {initialize.extra.label.stuff} { #0 int.to.chr$ 'last.label := - - "" 'next.extra := #0 'last.extra.num := } @@ -1972,8 +2158,6 @@ FUNCTION {forward.pass} if$ } - - FUNCTION {reverse.pass} { next.extra "b" = { "a" 'extra.label := } @@ -1983,7 +2167,6 @@ FUNCTION {reverse.pass} extra.label 'next.extra := } - EXECUTE {initialize.extra.label.stuff} ITERATE {forward.pass} @@ -2034,7 +2217,6 @@ ITERATE {call.type$} FUNCTION {end.bib} { newline$ "\end{thebibliography}" write$ newline$ - "\Persian" write$ newline$ } EXECUTE {end.bib} 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 d5cee901dd3..e1c1cbe6f8f 100644 --- a/Master/texmf-dist/bibtex/bst/persian-bib/ieeetr-fa.bst +++ b/Master/texmf-dist/bibtex/bst/persian-bib/ieeetr-fa.bst @@ -3,12 +3,12 @@ %% %% by: Mahmood Amintoosi and Mostafa Vahedi, m.amintoosi@gmail.com %% For XePersian, a Persian Typsetting Package in XeTeX -%% 2010/01/15 %% 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 @@ -22,7 +22,7 @@ ENTRY institution journal key -language + language month note number @@ -32,7 +32,7 @@ language school series title -translator + translator type volume year @@ -42,16 +42,13 @@ translator INTEGERS { output.state before.all mid.sentence after.quote after.sentence after.quoted.block after.block } -STRINGS {bbl.and bbl.etal bbl.editors bbl.editor bbl.edition bbl.volume bbl.of bbl.number - bbl.in bbl.pages bbl.page bbl.chapter bbl.series bbl.techrep bbl.mthesis bbl.phdthesis - bbl.translator}% bbl.formatnames} FUNCTION {is.print.banners.to.terminal} { #1 } %%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% FILE VERSION AND BANNER %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%% -FUNCTION{bst.file.version} { "0.4" } -FUNCTION{bst.file.date} { "2010/01/15" } +FUNCTION{bst.file.version} { "0.6" } +FUNCTION{bst.file.date} { "2011/07/01" } FUNCTION{bst.file.website} { "http://www.parsilatex.com" } FUNCTION{bst.file.authors} {"M.Amintoosi and M.Vahedi" } @@ -62,7 +59,7 @@ FUNCTION {banner.message} top$ "-- This is a BibTeX style for XePersian: " bst.file.website * %top$ - %"-- See the " quote$ * "bibtex-fa_userguide.pdf" * quote$ * " manual for usage information." * + %"-- See the " quote$ * "Persian-bib-userguide.pdf" * quote$ * " manual for usage information." * top$ } { skip$ } @@ -92,48 +89,152 @@ FUNCTION {fa.isPersianLanguage} if$ } -FUNCTION {keywords.fa} + % 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} { - " و " 'bbl.and := - " و دیگران" 'bbl.etal := - " ویراستاران " 'bbl.editors := - " ویراستهی " 'bbl.editor := - " ویرایش " 'bbl.edition := - " جلد " 'bbl.volume := - " از " 'bbl.of := - " شماره " 'bbl.number := - " در " 'bbl.in := - " صفحات " 'bbl.pages := - " ص." 'bbl.page := - " فصل " 'bbl.chapter := - " سری " 'bbl.series := - " گزارش طرح تحقیقی" 'bbl.techrep := - " پایاننامه کارشناسیارشد" 'bbl.mthesis := - " پایاننامه دکترا" 'bbl.phdthesis := - " ترجمهی " 'bbl.translator := -} - -FUNCTION {keywords.en} +fa.isPersianLanguage + {" ص." } + { " p." } +if$ +} + +FUNCTION {bbl.chapter} { - " and " 'bbl.and := - " et~al." 'bbl.etal := - " Eds." 'bbl.editors := - " Ed." 'bbl.editor := - " Ed." 'bbl.edition := - " Vol." 'bbl.volume := - " of " 'bbl.of := - " No." 'bbl.number := - " In " 'bbl.in := - " pp." 'bbl.pages := - " p." 'bbl.page := - " Ch." 'bbl.chapter := - " Ser." 'bbl.series := - " Tech. Rep." 'bbl.techrep := - " Master's thesis" 'bbl.mthesis := - " Ph.D. disseration" 'bbl.phdthesis := - " Translator " 'bbl.translator := +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 %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -197,15 +298,17 @@ FUNCTION {output.check} } FUNCTION {output.bibitem} -{ newline$ +{ + newline$ fa.isPersianLanguage - { keywords.fa - "\Persian" write$ - newline$ } - { keywords.en - "\Latin" write$ - newline$ } + { skip$ } + { + "\begin{LTRbibitems}" write$ + newline$ + "\resetlatinfont " write$ + } if$ + newline$ "\bibitem{" write$ cite$ write$ "}" write$ @@ -225,6 +328,13 @@ FUNCTION {fin.entry} if$ write$ newline$ + fa.isPersianLanguage + {skip$} + { newline$ + "\end{LTRbibitems}" write$ + newline$ + } + if$ } FUNCTION {new.block} @@ -1141,7 +1251,6 @@ ITERATE {call.type$} FUNCTION {end.bib} { newline$ "\end{thebibliography}" write$ newline$ - "\Persian" write$ newline$ } EXECUTE {end.bib} 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 5568bf2d76a..6308589bd22 100644 --- a/Master/texmf-dist/bibtex/bst/persian-bib/plain-fa.bst +++ b/Master/texmf-dist/bibtex/bst/persian-bib/plain-fa.bst @@ -3,15 +3,14 @@ %% %% by: Mahmood Amintoosi and Mostafa Vahedi %% For XePersian, a Persian Typsetting Package in XeTeX -%% 2010/01/15 %% 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 @@ -23,7 +22,7 @@ ENTRY institution journal key -language + language month note number @@ -33,7 +32,7 @@ language school series title -translator + translator type volume year @@ -42,16 +41,13 @@ translator { label } INTEGERS { output.state before.all mid.sentence after.sentence after.block } -STRINGS {bbl.and bbl.etal bbl.editors bbl.editor bbl.edition bbl.volume bbl.of bbl.number - bbl.in bbl.pages bbl.page bbl.chapter bbl.series bbl.techrep bbl.mthesis bbl.phdthesis - bbl.translator}% bbl.formatnames} FUNCTION {is.print.banners.to.terminal} { #1 } %%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% FILE VERSION AND BANNER %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%% -FUNCTION{bst.file.version} { "0.4" } -FUNCTION{bst.file.date} { "2010/01/15" } +FUNCTION{bst.file.version} { "0.6" } +FUNCTION{bst.file.date} { "2011/07/01" } FUNCTION{bst.file.website} { "http://www.parsilatex.com" } FUNCTION{bst.file.authors} {"M.Amintoosi and M.Vahedi" } @@ -62,7 +58,7 @@ FUNCTION {banner.message} top$ "-- This is a BibTeX style for XePersian: " bst.file.website * %top$ - %"-- See the " quote$ * "bibtex-fa_userguide.pdf" * quote$ * " manual for usage information." * + %"-- See the " quote$ * "Persian-bib-userguide.pdf" * quote$ * " manual for usage information." * top$ } { skip$ } @@ -92,47 +88,151 @@ FUNCTION {fa.isPersianLanguage} if$ } -FUNCTION {keywords.fa} + % 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} { - " و " 'bbl.and := - " و دیگران" 'bbl.etal := - " ویراستاران " 'bbl.editors := - " ویراستهی " 'bbl.editor := - " ویرایش " 'bbl.edition := - " جلد " 'bbl.volume := - " از " 'bbl.of := - " شماره " 'bbl.number := - " در " 'bbl.in := - " صفحات " 'bbl.pages := - " ص." 'bbl.page := - " فصل " 'bbl.chapter := - " سری " 'bbl.series := - " گزارش طرح تحقیقی" 'bbl.techrep := - " پایاننامه کارشناسیارشد" 'bbl.mthesis := - " پایاننامه دکترا" 'bbl.phdthesis := - " ترجمهی " 'bbl.translator := -} - -FUNCTION {keywords.en} +fa.isPersianLanguage + { " ویراستهی "} + { " edited by " } +if$ +} + +FUNCTION {bbl.edition} { - " and " 'bbl.and := - " et~al." 'bbl.etal := - " Eds." 'bbl.editors := - " Ed." 'bbl.editor := - " Ed." 'bbl.edition := - " Vol." 'bbl.volume := - " of " 'bbl.of := - " No." 'bbl.number := - " In " 'bbl.in := - " pp." 'bbl.pages := - " p." 'bbl.page := - " Ch." 'bbl.chapter := - " Ser." 'bbl.series := - " Tech. Rep." 'bbl.techrep := - " Master's thesis" 'bbl.mthesis := - " Ph.D. disseration" 'bbl.phdthesis := - " Translator " 'bbl.translator := - %"{vv~}{ll}{, jj}{, f.}" 'bbl.formatnames := +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$ } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -188,13 +288,14 @@ FUNCTION {output.bibitem} { newline$ fa.isPersianLanguage - { keywords.fa - "\Persian" write$ - newline$ } - { keywords.en - "\Latin" write$ - newline$ } + { skip$ } + { + "\begin{LTRbibitems}" write$ + newline$ + "\resetlatinfont " write$ + } if$ + newline$ "\bibitem{" write$ cite$ write$ "}" write$ @@ -207,6 +308,13 @@ FUNCTION {fin.entry} { add.period$ write$ newline$ + fa.isPersianLanguage + {skip$} + { newline$ + "\end{LTRbibitems}" write$ + newline$ + } + if$ } FUNCTION {new.block} @@ -1267,7 +1375,6 @@ ITERATE {call.type$} FUNCTION {end.bib} { newline$ "\end{thebibliography}" write$ newline$ - "\Persian" write$ newline$ } EXECUTE {end.bib} 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 e31e2b2d201..2ee7debbf7f 100644 --- a/Master/texmf-dist/bibtex/bst/persian-bib/plainnat-fa.bst +++ b/Master/texmf-dist/bibtex/bst/persian-bib/plainnat-fa.bst @@ -3,12 +3,12 @@ %% %% by: Mahmood Amintoosi, m.amintoosi@gmail.com %% For XePersian, a Persian Typsetting Package in XeTeX -%% 2010/01/15 %% 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 %% File: `plainnat.bst' %% A modification of `plain.bst' for use with natbib package @@ -60,7 +60,7 @@ ENTRY { address author - authorfa + authorfa booktitle chapter doi @@ -73,7 +73,7 @@ ENTRY issn journal key - language + language month note number @@ -83,7 +83,7 @@ ENTRY school series title - translator + translator type url volume @@ -92,10 +92,7 @@ ENTRY {} { label extra.label sort.label short.list } -INTEGERS { output.state before.all mid.sentence after.sentence after.block } -STRINGS {bbl.and bbl.etal bbl.editors bbl.editor bbl.edition bbl.volume bbl.of bbl.number - bbl.in bbl.pages bbl.page bbl.chapter bbl.series bbl.techrep }%bbl.mthesis bbl.phdthesis -%}%bbl.translator}% bbl.formatnames} +INTEGERS { output.state before.all mid.sentence after.sentence after.block fa.isInLabel} %%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Persian Functions %% @@ -109,47 +106,189 @@ FUNCTION {fa.isPersianLanguage} if$ } -FUNCTION {keywords.fa} +% 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.isInLabel +{" و "}% If authorfa exists +{ + fa.isPersianLanguage + {" و "} + {" and "} + if$ +} +if$ +} + +FUNCTION {bbl.editors} +{ +fa.isPersianLanguage + { "ویراستاران"} + { "eds."} +if$ +} + +FUNCTION {bbl.editor} +{ +fa.isPersianLanguage + { "ویراستار"} + { "ed." } +if$ +} + +FUNCTION {bbl.edby} { - " و " 'bbl.and := - " و دیگران" 'bbl.etal := - " ویراستاران " 'bbl.editors := - " ویراستهی " 'bbl.editor := - " ویرایش " 'bbl.edition := - " جلد " 'bbl.volume := - " از " 'bbl.of := - " شماره " 'bbl.number := - " در " 'bbl.in := - " صفحات " 'bbl.pages := - " ص." 'bbl.page := - " فصل " 'bbl.chapter := - " سری " 'bbl.series := - " گزارش طرح تحقیقی" 'bbl.techrep := -% " پایاننامه کارشناسیارشد" 'bbl.mthesis := - % " پایاننامه دکترا" 'bbl.phdthesis := - % " ترجمهی " 'bbl.translator := -} - -FUNCTION {keywords.en} +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} { - " and " 'bbl.and := - " et~al." 'bbl.etal := - " Eds." 'bbl.editors := - " Ed." 'bbl.editor := - " Ed." 'bbl.edition := - " Vol." 'bbl.volume := - " of " 'bbl.of := - " No." 'bbl.number := - " In " 'bbl.in := - " pp." 'bbl.pages := - " p." 'bbl.page := - " Ch." 'bbl.chapter := - " Ser." 'bbl.series := - " Tech. Rep." 'bbl.techrep := - % " Master's thesis" 'bbl.mthesis := - % " Ph.D. disseration" 'bbl.phdthesis := - % " Translator " 'bbl.translator := - %"{vv~}{ll}{, jj}{, f.}" 'bbl.formatnames := +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.first} +{ "1st" } + +FUNCTION {bbl.second} +{ "2nd" } + +FUNCTION {bbl.third} +{ "3rd" } + +FUNCTION {bbl.fourth} +{ "4th" } + +FUNCTION {bbl.fifth} +{ "5th" } + +FUNCTION {bbl.st} +{ "st" } + +FUNCTION {bbl.nd} +{ "nd" } + +FUNCTION {bbl.rd} +{ "rd" } + +FUNCTION {bbl.th} +{ "th" } + +% Added by M.Amintoosi +FUNCTION {bbl.etal} +{ +fa.isInLabel +{" و دیگران"}% If authorfa exists +{ + fa.isPersianLanguage + {" و دیگران"} + {" et~al."} + if$ +} +if$ +} + +FUNCTION {bbl.translator} +{ +fa.isPersianLanguage + { " ترجمهی "} + {" Translated by "} +if$ } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -206,6 +345,13 @@ FUNCTION {fin.entry} { add.period$ write$ newline$ + fa.isPersianLanguage + {skip$} + { newline$ + "\end{LTRbibitems}" write$ + newline$ + } + if$ } FUNCTION {new.block} @@ -361,11 +507,11 @@ FUNCTION {format.translators} { "" } { fa.isPersianLanguage { - " ترجمهی " translator format.names * + bbl.translator translator format.names * } { translator format.names - ", " " translated by " * * + ", " bbl.translator * * } if$ } @@ -389,7 +535,12 @@ FUNCTION {format.issn} FUNCTION {format.url} { url empty$ { "" } - { new.block "URL \url{" url * "}" * } + { + fa.isPersianLanguage + {new.block "\url{" url * "}" * } + {new.block "URL \url{" url * "}" * } + if$ + } if$ } @@ -478,15 +629,18 @@ FUNCTION {make.full.names} } FUNCTION {output.bibitem} -{ newline$ +{ + #0 'fa.isInLabel := %Initialize fa.isInLabel + newline$ fa.isPersianLanguage - { keywords.fa - "\Persian" write$ - newline$ } - { keywords.en - "\Latin" write$ - newline$ } + { skip$ } + { + "\begin{LTRbibitems}" write$ + newline$ + "\resetlatinfont " write$ + } if$ + newline$ "\bibitem[" write$ label write$ ")" make.full.names duplicate$ short.list = @@ -1246,6 +1400,17 @@ FUNCTION {chop.word} FUNCTION {format.lab.names} { 's := + authorfa empty$ + { + %skip$ + #0 'fa.isInLabel := + } + {% If authorfa exists + authorfa 's := + #1 'fa.isInLabel := + } + if$ + s #1 "{vv~}{ll}" format.name$ s num.names$ duplicate$ #2 > @@ -1260,100 +1425,36 @@ FUNCTION {format.lab.names} if$ } if$ + #0 'fa.isInLabel := %reset fa.isInLabel } FUNCTION {author.key.label} { - % Push the two variables onto the stack - bbl.etal - bbl.and - authorfa empty$ - { - fa.isPersianLanguage - { - " و دیگران" 'bbl.etal := - " و " 'bbl.and := - } - { - " et~al." 'bbl.etal := - " and " 'bbl.and := - } - if$ - - author empty$ - { key empty$ - { cite$ #1 #3 substring$ } - 'key - if$ - } - { author format.lab.names } - if$ - } - { - " و دیگران" 'bbl.etal := - " و " 'bbl.and := - authorfa format.lab.names - } - if$ - - % Pop the function result and store it on s - 's := - % Push the two variables onto the stack - 'bbl.and := - 'bbl.etal := - % push the result into stack - s - + author empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { author format.lab.names } + if$ } FUNCTION {author.editor.key.label} { - - % Push the two variables onto the stack - bbl.etal - bbl.and - authorfa empty$ - { - fa.isPersianLanguage - { - " و دیگران" 'bbl.etal := - " و " 'bbl.and := - } - { - " et~al." 'bbl.etal := - " and " 'bbl.and := - } - if$ - - author empty$ - { editor empty$ - { key empty$ - { "no key, author, or editor in " cite$ * warning$ - cite$ #1 #3 substring$ } - 'key - if$ - } - { editor format.lab.names } - if$ - } - { author format.lab.names } - if$ - - } - { - " و دیگران" 'bbl.etal := - " و " 'bbl.and := - authorfa format.lab.names + author empty$ + { editor empty$ + { key empty$ + { "no key, author, or editor in " cite$ * warning$ + cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ } - if$ - - % Pop the function result and store it on s - 's := - % Push the two variables onto the stack - 'bbl.and := - 'bbl.etal := - % push the result into stack - s + { author format.lab.names } + if$ } FUNCTION {author.key.organization.label} @@ -1645,7 +1746,6 @@ ITERATE {call.type$} FUNCTION {end.bib} { newline$ "\end{thebibliography}" write$ newline$ - "\Persian" write$ newline$ } EXECUTE {end.bib} 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 75794270c5e..438f78b36d7 100644 --- a/Master/texmf-dist/bibtex/bst/persian-bib/unsrt-fa.bst +++ b/Master/texmf-dist/bibtex/bst/persian-bib/unsrt-fa.bst @@ -3,7 +3,6 @@ %% %% by: Mahmood Amintoosi and Mostafa Vahedi, m.amintoosi@gmail.com %% For XePersian, a Persian Typsetting Package in XeTeX -%% 2010/01/15 %% 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. @@ -11,8 +10,6 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Original Copyright -%%%%%%%%%%% History: - ENTRY { address author @@ -43,16 +40,13 @@ translator { label } INTEGERS { output.state before.all mid.sentence after.sentence after.block } -STRINGS {bbl.and bbl.etal bbl.editors bbl.editor bbl.edition bbl.volume bbl.of bbl.number - bbl.in bbl.pages bbl.page bbl.chapter bbl.series bbl.techrep bbl.mthesis bbl.phdthesis - bbl.translator } FUNCTION {is.print.banners.to.terminal} { #1 } %%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% FILE VERSION AND BANNER %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%% -FUNCTION{bst.file.version} { "0.4" } -FUNCTION{bst.file.date} { "2010/01/15" } +FUNCTION{bst.file.version} { "0.5" } +FUNCTION{bst.file.date} { "2011/07/01" } FUNCTION{bst.file.website} { "http://www.parsilatex.com" } FUNCTION{bst.file.authors} {"M.Amintoosi and M.Vahedi" } @@ -63,7 +57,7 @@ FUNCTION {banner.message} top$ "-- This is a BibTeX style for XePersian: " bst.file.website * %top$ - %"-- See the " quote$ * "bibtex-fa_userguide.pdf" * quote$ * " manual for usage information." * + %"-- See the " quote$ * "Persian-bib-userguide.pdf" * quote$ * " manual for usage information." * top$ } { skip$ } @@ -93,46 +87,151 @@ FUNCTION {fa.isPersianLanguage} if$ } -FUNCTION {keywords.fa} + % 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} { - " و " 'bbl.and := - " و دیگران" 'bbl.etal := - " ویراستاران " 'bbl.editors := - " ویراستهی " 'bbl.editor := - " ویرایش " 'bbl.edition := - " جلد " 'bbl.volume := - " از " 'bbl.of := - " شماره " 'bbl.number := - " در " 'bbl.in := - " صفحات " 'bbl.pages := - " ص." 'bbl.page := - " فصل " 'bbl.chapter := - " سری " 'bbl.series := - " گزارش طرح تحقیقی" 'bbl.techrep := - " پایاننامه کارشناسیارشد" 'bbl.mthesis := - " پایاننامه دکترا" 'bbl.phdthesis := - " ترجمهی " 'bbl.translator := -} - -FUNCTION {keywords.en} +fa.isPersianLanguage + {" پایاننامه کارشناسیارشد"} + { " Master's thesis" } +if$ +} + +FUNCTION {bbl.phdthesis} { - " and " 'bbl.and := - " et~al." 'bbl.etal := - " eds." 'bbl.editors := - " ed." 'bbl.editor := - " ed." 'bbl.edition := - " Vol." 'bbl.volume := - " of " 'bbl.of := - " No." 'bbl.number := - " In " 'bbl.in := - " pp." 'bbl.pages := - " p." 'bbl.page := - " Ch." 'bbl.chapter := - " Ser." 'bbl.series := - " Tech. Rep." 'bbl.techrep := - " Master's thesis" 'bbl.mthesis := - " Ph.D. disseration" 'bbl.phdthesis := - " Translator " 'bbl.translator := +fa.isPersianLanguage + {" پایاننامه دکترا" } + { " Ph.D. thesis" } +if$ +} + +FUNCTION {bbl.etal} +{ + fa.isPersianLanguage + {" و دیگران"} + {" et~al."} + if$ +} + +FUNCTION {bbl.translator} +{ + fa.isPersianLanguage + {"ترجمهی "} + {"Translator "} + if$ } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -187,13 +286,14 @@ FUNCTION {output.check} FUNCTION {output.bibitem} { newline$ fa.isPersianLanguage - { keywords.fa - "\Persian" write$ - newline$ } - { keywords.en - "\Latin" write$ - newline$ } + { skip$ } + { + "\begin{LTRbibitems}" write$ + newline$ + "\resetlatinfont " write$ + } if$ + newline$ "\bibitem{" write$ cite$ write$ "}" write$ @@ -206,6 +306,13 @@ FUNCTION {fin.entry} { add.period$ write$ newline$ + fa.isPersianLanguage + {skip$} + { newline$ + "\end{LTRbibitems}" write$ + newline$ + } + if$ } FUNCTION {new.block} @@ -283,6 +390,7 @@ FUNCTION {field.or.null} if$ } + FUNCTION {emphasize} { duplicate$ empty$ { pop$ "" } @@ -290,6 +398,7 @@ FUNCTION {emphasize} if$ } + INTEGERS { nameptr namesleft numnames } FUNCTION {format.names} @@ -439,8 +548,8 @@ FUNCTION {format.bvolume} { "" } { bbl.volume volume tie.or.space.connect series empty$ -'skip$ -{ bbl.of * series emphasize * } + 'skip$ + { bbl.of * series emphasize * } if$ "volume and number" number either.or.check } @@ -523,18 +632,18 @@ FUNCTION {format.vol.num.pages} number empty$ 'skip$ { "(" number * ")" * * - volume empty$ -{ "there's a number but no volume in " cite$ * warning$ } -'skip$ - if$ + 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$ + { pop$ format.pages } + { ":" * pages n.dashify * } + if$ } if$ } @@ -1109,12 +1218,8 @@ ITERATE {call.type$} FUNCTION {end.bib} { newline$ "\end{thebibliography}" write$ newline$ - "\Persian" write$ newline$ } EXECUTE {end.bib} EXECUTE{completed.message} -%% -%% by Mahmood Amintoosi -%% %% End of file `unsrt-fa.bst'. diff --git a/Master/texmf-dist/doc/xelatex/persian-bib/MyReferences.bib b/Master/texmf-dist/doc/xelatex/persian-bib/MyReferences.bib index 6da55a6c83e..eca653aba97 100644 --- a/Master/texmf-dist/doc/xelatex/persian-bib/MyReferences.bib +++ b/Master/texmf-dist/doc/xelatex/persian-bib/MyReferences.bib @@ -1,6 +1,6 @@ -@ARTICLE{Vahedi87, +@ARTICLE{Vahedi87, AUTHOR = {واحدی, مصطفی}, - TITLE = {موضوعی جدید در هندسه محاسباتی}, + TITLE = {درختان پوشای کمینه دورنگی مسطح}, JOURNAL = {مجله فارسی نمونه}, VOLUME = {1}, YEAR = {1387}, @@ -36,7 +36,7 @@ AUTHOR = {M. Amintoosi and M. Fathy and N. Mozayani}, authorfa = {م. امینطوسی and م. فتحی and م.مزینی}, TITLE = {Precise Image Registration with Structural Similarity Error Measurement Applied to Super-Resolution}, - JOURNAL = {{EURASIP} {J}ournal on {A}pplied {S}ignal {P}rocessing}, + JOURNAL = {{EURASIP} {J}ournal on {A}dvances in {S}ignal {P}rocessing}, Volume = {2009}, YEAR = {2009}, pages = {7 pages}, @@ -93,16 +93,16 @@ @MISC{Khalighi87xepersian, AUTHOR = {خلیقی,وفا}, TITLE = {زیپرشین (\lr{\XePersian}): بسته فارسی برای حروفچینی در \lr{\LaTeX2e}}, - HOWPUBLISHED = {\lr{\href{http://developer.berlios.de/projects/xepersian}{http://developer.berlios.de/projects/xepersian}}}, + HOWPUBLISHED = {\lr{\href{HTTP://BITBUCKET.ORG/VAFA/XEPERSIAN}{HTTP://BITBUCKET.ORG/VAFA/XEPERSIAN}}}, YEAR = {۱۳۸۷}, LANGUAGE = {Persian} } @PHDTHESIS{Omidali82phdThesis, AUTHOR = {امیدعلی, مهدی}, - TITLE = {تابع هیلبرت}, + TITLE = {خمهای تکجملهای تعریف شده توسط دنبالههای تقریباً حسابی}, SCHOOL = {دانشکده ریاضی، دانشگاه امیرکبیر}, - YEAR = {1382}, + YEAR = {1385}, MONTH = {تیر}, LANGUAGE = {Persian} } @@ -122,11 +122,9 @@ @MASTERSTHESIS{Pourmousa88mscThesis, AUTHOR = {پورموسی , امیرمسعود}, - TITLE = {یک موضوع فیزیک}, + TITLE = {بررسی رویدادهای ریزهمگرایی گرانشی تکراری در راستای مرکز کهکشان و ابرهای ماژلانی}, SCHOOL = {دانشکده فیزیک، دانشگاه صنعتیشریف}, YEAR = {۱۳۸۸}, - MONTH = {مرداد}, - NOTE = {(در حال انجام)}, 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 7a1dcd88447..bb916c78bac 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 b84a816d374..e667312b412 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,33 +1,34 @@ -\documentclass{article} +\documentclass[a4paper]{article} % محمود امینطوسی، http://webpages.iust.ac.ir/mamintoosi -%\versionnumber{0.5} +%\versionnumber{0.6} \usepackage{verbatim} \usepackage{color} -\usepackage{setspace} \usepackage{amsthm} -\usepackage[linktocpage=true,colorlinks,pagebackref=true,citecolor=blue]{hyperref} +\usepackage[linktocpage=true,colorlinks,citecolor=blue,pagebackref=true]{hyperref}% \usepackage[nonamebreak,square]{natbib}%nonamebreak,numbers, -%\usepackage{backref} +\usepackage[top=30mm, bottom=30mm, left=30mm, right=30mm]{geometry} \usepackage{xepersian} \settextfont[Scale=1]{XB Zar}%{XB Niloofar} \setlatintextfont[Scale=1]{Linux Libertine} -\setdigitfont[Scale=1]{Parsi Digits} +%\setdigitfont[Scale=1]{XB Zar} \defpersianfont\Sayeh[Scale=1]{XB Kayhan Sayeh} \theoremstyle{plain}\newtheorem{question}{پرسش} \newcommand{\answer}{{\noindent \Sayeh پاسخ: }} \newcommand\SLASH{\char`\\} + \title{\vspace{-2cm} {\small بسم الله الرحمن الرحيم\\} \vspace{2cm} راهنمای استفاده از سبکهای فارسی برای \textcolor{red}{\lr{\textsc{Bib}\TeX}}\\ - در \textcolor{green}{زیپرشین}} + در \textcolor{green}{زیپرشین}\\ +\lr{(Persian-bib User Guide)} +} \author{محمود امینطوسی و مصطفی واحدی\\ -گروه پارسی لاتک\\ \lr{http://www.parsilatex.com}\\ \lr{\{m.amintoosi,mostafa.vahedi\} at gmail.com} } @@ -53,12 +54,11 @@ را به بانک مراجع خود اضافه نماید. با داشتن چنین بانکی از مراجع، وی خواهد توانست به راحتی یک یا چند ارجاع به مراجع و یا یک یا چند بخش را حذف یا اضافه نماید؛ مراجع به صورت خودکار مرتب شده و فقط مراجع ارجاع داده شده در قسمت کتابنامه خواهندآمد. قالب مراجع به صورت یکدست مطابق سبک داده شده بوده و نیازی نیست که کاربر درگیر قالبدهی به مراجع باشد. - در این جا مجموعهای از سبکهای \lr{BibTeX} که برای بستهی زیپرشین تنظیم شدهاند معرفی شده و روش کار با آنها گفته میشود. \section{سبکهای فعلی قابل استفاده در زیپرشین} -در حال حاضر فایلهای سبک زیر برای استفاده در زیپرشین آماده شدهاند: +در حال حاضر فایلهای سبک زیر برای استفاده در زیپرشین آماده شدهاند\footnote{برای دیدن و مقایسهی خروجی این سبکها کافیست برنامهی پرل \lr{gen\_pdf} را -- که همراه با بستهی \lr{Persian-bib} است -- اجرا کنید تا به صورت خودکار نمونه خروجیهایی با تمام این سبکها تولید نماید.}: \begin{description} \item [unsrt-fa.bst] این سبک متناظر با \lr{unsrt.bst} میباشد. مراجع به ترتیب ارجاع در متن ظاهر میشوند. \item [plain-fa.bst] این سبک متناظر با \lr{plain.bst} میباشد. مراجع بر اساس نامخانوادگی نویسندگان، به ترتیب صعودی مرتب میشوند. @@ -99,7 +99,7 @@ xelatex myfile \end{enumerate} نکته: در روش فوق مراجع فارسی در استیلهایی که مراجع را به صورت مرتب شده چاپ میکنند، ترتیب کاملاً درستی نخواهند داشت. برای توضیحات بیشتر بخش \ref{Sec:sorting} را ببینید. -\section{یک فایل \lr{bib} شامل چیست؟} +\section{یک فایل \texorpdfstring{\lr{bib}}{bib} شامل چیست؟} یک فایل \lr{bib} در واقع یک پایگاه داده از مراجع\LTRfootnote{Bibliography Database} شماست که هر مرجع در آن به عنوان یک رکورد از این پایگاه داده با قالبی خاص ذخیره میشود. به هر رکورد یک مدخل\LTRfootnote{Entry} گفته میشود. یک نمونه مدخل برای معرفی کتاب \lr{Digital Image Processing} در ادامه آمده است: \begin{LTR} @@ -128,28 +128,31 @@ xelatex myfile مشخص خواهد کرد. -\section{استفاده از \lr{natbib}}\label{Sec:natbib} -برخی مایلند که مراجع خود را با قالب نویسنده-سال داشته باشند. برای لاتین استیلهایی نظیر \lr{plainnat} وجود دارند که خروجی آنها به اینگونه است؛ ولی برای فارسی چنین استلی نداریم. -بعلاوه معمولاً در مستندات فارسی خواسته میشود که نامهای لاتین مؤلفین در متن به صورت فارسی نوشته شود ولی در لیست مراجع به صورت انگلیسی ظاهر شوند. اگر از استیلهای \lr{plainnat} یا \lr{chicago} در مستندات زیپرشین استفاده کنیم با مشکلاتی مواجه هستیم. +\section{استفاده از \texorpdfstring{\lr{natbib}}{natbib}}\label{Sec:natbib} +برخی مایلند که مراجع خود را با قالب نویسنده-سال داشته باشند. برای لاتین استیلهایی نظیر \lr{plainnat} وجود دارند که خروجی آنها به اینگونه است؛ ولی برای فارسی چنین استیلهایی نداریم. +بعلاوه معمولاً در مستندات فارسی خواسته میشود که نامهای لاتین مؤلفین در متن به صورت فارسی نوشته شود ولی در لیست مراجع به صورت انگلیسی ظاهر شوند. +%اگر از استیلهای \lr{plainnat} یا \lr{chicago} در مستندات زیپرشین استفاده کنیم با مشکلاتی مواجه هستیم. با استفاده از استیلهای جدید \lr{plainnat-fa.bst}، \lr{asa-fa.bst} و \lr{chicago-fa.bst} میتوانید در زمانیکه متن شما فارسی و مراجعتان لاتین است از قالب مراجع به صورت «نویسنده-سال» استفاده کنید. به این منظور باید در هر مدخل مراجع خود یک فیلد جدید به نام \lr{AUTHORFA} تعریف نموده و معادل فارسی نام مؤلفین را در آن قید کنید. دنباله عملیات لازم برای تولید خروجی در بخش \ref{Sec:sorting} آمده است. -تا آنجا که بررسی شده است، سه استیل آماده شده با فرامین معمول بستهٔ \lr{natbib} که در راهنمای آن آمده است (مانند \lr{cite,citet,citep}) به خوبی کار میکند. در ادامه مثالهای متنوعی از انواع مختلف مراجع و برخی دستورات ارجاعدهی در \lr{natbib} آمده است. دقت داشته باشید که برای استفاده از فایلهای استیل فارسی فوقالذکر باید بستهٔ \lr{natbib} نصب شده باشد و آنرا فراخوانی نموده باشید. در این بسته به صورت پیشفرض در ارجاع به مراجع، از پرانتز استفاده میشود، لیکن از آنجا که در این سند این بسته با ذکر \lr{[square]} فراخوانی شده است، مراجع با کروشه مشخص شدهاند. +تا آنجا که بررسی شده است، سه استیل آماده شده با فرامین معمول بستهٔ \lr{natbib} که در راهنمای آن آمده است (مانند \lr{cite,citet,citep}) به خوبی کار میکند. در ادامه مثالهای متنوعی از انواع مختلف مراجع و برخی دستورات ارجاعدهی در \lr{natbib} آمده است. دقت داشته باشید که برای استفاده از فایلهای استیل فارسی فوقالذکر باید بستهٔ \lr{natbib} نصب شده باشد و آنرا فراخوانی نموده باشید. در این بسته به صورت پیشفرض در ارجاع به مراجع، از پرانتز استفاده میشود، لیکن از آنجا که در این سند این بسته با گزینهی \lr{square} فراخوانی شده است، مراجع با کروشه مشخص شدهاند. -\subsection{مثالها} +\subsection{مثالها}\label{Sec:examples} -\citet{Borman04thesis} در پایاننامهٔ دکترای خود به موضوع وضوح برتر پرداخته است. - -\citet{Amintoosi09precise} یک روش افزایش وضوح تصویر ارائه دادند. این روش توسط \citet{Amintoosi09video} برای ویدئو بکار گرفته شد.همانگونه که میبینید در این مرجع که دو مؤلف داریم فامیل هر دو آمده است. ضمناً هر دو مرجع لاتین هستند که در فیلد \lr{authorfa} معادل فارسی آنها ذکر شده بوده است. +\citet{Borman04thesis}\LTRfootnote{\citeauthor*{Borman04thesis}} در پایاننامهٔ دکترای خود به موضوع وضوح برتر پرداخته است. +\citet{Amintoosi09precise}\LTRfootnote{\citeauthor*{Amintoosi09precise}} یک روش افزایش وضوح تصویر ارائه دادند. این روش توسط \citet{Amintoosi09video} برای ویدئو بکار گرفته شد.همانگونه که میبینید در این مرجع که دو مؤلف داریم فامیل هر دو آمده است. ضمناً هر دو مرجع لاتین هستند که در فیلد \lr{authorfa} معادل فارسی آنها ذکر شده بوده است. خوب حالا ببینیم با مرجع \citep{Amintoosi09regional} چکار میکند. از آنجا که مؤلفین این مقاله و مقاله اول و سال نشر هر دو یکی است در کنار سال، \lr{a,b,c,...} قرار میگیرد. این یکی را تبدیل به الف و ب نمیکنیم چرا که در لیست مراجع به همین صورت ظاهر میشوند. -و حالا چند مرجع از انواع مختلف را با هم ببینیم: \citet{Omidali82phdThesis} یک نمونه پروژه دکترا، مرجع \citet[فصل ۲]{Pourmousa88mscThesis} یک نمونه پروژه کارشناسی ارشد فارسی که به فصل دوم آن ارجاع داده شده و مرجع \citep{Vahedi87} یک نمونه مقاله مجله فارسی است که با \lr{citep} به آن ارجاع داده شده و لذا کلاً داخل کروشه قرار گرفته است. +و حالا چند مرجع از انواع مختلف را با هم ببینیم: \citet{Omidali82phdThesis} یک نمونه پروژه دکترا و مرجع \citep{Vahedi87} یک نمونه مقاله مجله فارسی است که با \lr{citep} به آن ارجاع داده شده و لذا کلاً داخل کروشه قرار گرفته است. مرجع \citep{Pedram80osool} یک نمونه کتاب فارسی با ذکر مترجمان و ویراستاران فارسی است. مرجع \citep{Khalighi07MscThesis} یک نمونه پروژه کارشناسی ارشد انگلیسی و \citet{Khalighi87xepersian} هم یک نمونه متفرقه میباشند.\citet{Gonzalez02book} یک کتاب لاتین است. - مرجع \citet[همچنین ببینید][بخش ۲]{Amintoosi87afzayesh} یک نمونه مقاله کنفرانس فارسی با ذکر «همچنان ببینید و بخش خاص» است. اگر به همین مرجع با استفاده از \lr{citealp*} ارجاع دهیم به صورت \citealp*{Amintoosi87afzayesh} نشان داده میشود که همانگونه که مشاهده میکنید نام تمام مؤلفین نشان داده شده است؛ برخلاف مورد قبلی که مؤلفین سوم به بعد با «ودیگران» جایگزین میشد. البته در حال حاضر این مورد فقط برای مراجع فارسی بدرستی عمل مینماید. + مرجع \citet[فصل ۲]{Pourmousa88mscThesis} یک نمونه پروژه کارشناسی ارشد فارسی است که به فصل دوم آن ارجاع داده شده و مرجع \citep[قضیهی ۲،][]{Amintoosi87afzayesh} یک نمونه مقاله کنفرانس فارسی با ارجاع به یک قضیه به آن است که قضیهی مربوطه قبل از نام مرجع آمده است (برخلاف مثال پیشین). + + اگر به مرجع قبل با استفاده از \lr{citealp*} ارجاع دهیم به صورت \citealp*{Amintoosi87afzayesh} نشان داده میشود که همانگونه که مشاهده میکنید نام تمام مؤلفین نشان داده شده است؛ برخلاف مورد قبلی که مؤلفین دوم به بعد با «ودیگران» جایگزین میشد. البته در حال حاضر این مورد فقط برای مراجع فارسی بدرستی عمل مینماید. %همانگونه که دیده میشود، مراجع فارسی و لاتین هم در متن و هم در لیست مراجع به صورت درست نمایش داده شده اند. +%تست چندمرجعی زیرنویس \LTRfootnote{\citeauthor*{Amintoosi09precise,Gonzalez02book}}\citet{Amintoosi09precise,Gonzalez02book} اگر اسامی مؤلفان چند مرجع یکسان باشد (فارسی یا معادل فارسی آنها) و به آنها پشت سرهم ارجاع دهیم، اسامی فقط یک بار ظاهر خواهند شد. مثلاً \citet{Amintoosi09precise,Amintoosi87afzayesh} دو مقاله از نویسندگان یکسان ولی اولی به لاتین و دومی به فارسی است که سال نشر آنها مؤید این مطلب است. البته یک نقطه ضعف کوچک هم دارد و آن این است که برای تست یکسان بودن مراجع همین برچسب مورد عمل قرار میگیرد. به عنوان مثال از آنجا که برای هر دو مقاله «امینطوسی و دیگران» آمده است، بدون توجه به اینکه سایر همکاران ممکن است متفاوت باشند در یک دسته قرار میگیرند. @@ -169,39 +172,50 @@ xelatex myfile xelatex myfile \end{verbatim} \end{LTR} -میتوانید به جای \lr{bibtex8} از {\lr{bibtex}} و بدون هیچ گزینهٔ اضافهای استفاده کنید ولی در این حالت مراجع فارسی شما مرتب نخواهند بود، مگر آنکه از \lr{noopsort} استفاده کنید. در حال حاضر استیلهای فارسی -به جز \lr{asa-fa}- با \lr{bibtex8} در لینوکس مشکل دارند که انشاءالله در نسخهٔ بعد این مسئله رفع خواهد شد. +میتوانید به جای \lr{bibtex8} از {\lr{bibtex}} و بدون هیچ گزینهٔ اضافهای استفاده کنید ولی در این حالت مراجع فارسی شما مرتب نخواهند بود، مگر آنکه به نحو مناسبی از \lr{noopsort} استفاده کنید. \section{چند نکته در مورد استفاده از سبکهای فارسی} \begin{itemize} -\item همانگونه که مشاهده میکنید با بستهٔ \lr{hyperref} مشکلی وجود ندارد، البته به شرط داشتن بستهٔ \lr{bidi}نسخهٔ ۱.۰.۴ (\lr{revision} ۱۹۰ به بعد) . فقط یک استثناءوجود دارد و آن هم رنگ مرجع در هنگامی است که قسمتی از اسامی مؤلفین یک مرجع درانتهای یک خط و قسمتی دیگر در ابتدای خط بعد قرار گیرد. در این حالت کل دو خط رنگی میشوند. اما راه حلی برای آن با گزینه \lr{nonamebreak} از بستهٔ \lr{natbib} و گزینه کشیده \lr{(Kashida)} از بستهٔ زیپرشین وجود دارد. +\item همانگونه که مشاهده کردید با استفاده از فیلد \lr{AUTHORFA} میتوان معادل فارسی نام نویسندگان مقالات لاتین را در متن داشت. معمولاً در اسناد فارسی خواسته میشود که پس از ذکر معادل فارسی نام نویسنده، نام لاتین نویسنده(ها) به عنوان پاورقی درج شود. به این منظور کافیست پس از ارجاع به مرجع، در دستور زیر نویس از فرم ارجاع نویسنده-سال استفاده کنید، مثلاً به صورت زیر: +\begin{latin} +\begin{verbatim} +\citep{referenceTag}\LTRfootnote{\citeauthor*{referenceTag}} +\end{verbatim} +\end{latin} + نام مؤلفینِ اولین دو نمونه ارجاعِ بخش مثالها (بخش \ref{Sec:examples}) به همین صورت در پاورقی ظاهر شده است. + +\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)} در بستهٔ زیپرشین قابل حل است. \item متاسفانه \lr{bibtex} قادر به جداسازی حرف اول نامهای فارسی نیست، لذا در استیلهایی که حرف اول نامهای لاتین ظاهر میشوند، نامهای فارسی به صورت کامل نشان داده میشوند. اگر نیاز به این حالت دارید، باید خودتان به صورت دستی نامها را در مراجع فارسی اصلاح نمایید. -\item رمزینه فایل \lr{.bib} شما باید یونیکد یا \lr{UTF-8} باشد، در غیراینصورت (مثلاً اگر \lr{UTF-8 without BOM} باشد) در لینوکس با مشکل مواجه خواهید شد. به جای ایجاد فایل \lr{bib} جدید برای خود، فایل \lr{MyReferencesbib} که با رمزینهی \lr{UTF-8} ذخیره شده است را تغییر داده در صورت نیاز با نامی دیگر ذخیره نمایید. +\item رمزینه فایل \lr{.bib} شما باید یونیکد یا \lr{UTF-8} باشد، در غیراینصورت (مثلاً اگر \lr{UTF-8 without BOM} باشد) در لینوکس با مشکل مواجه خواهید شد. به جای ایجاد فایل \lr{bib} جدید برای خود، فایل \lr{MyReferences.bib} که با رمزینهی \lr{UTF-8} ذخیره شده است را تغییر داده در صورت نیاز با نامی دیگر ذخیره نمایید. \item برای فونت فارسی از فونتهای سری \lr{XB} یا قلم مناسب دیگری که حروف لاتین را هم داشته باشد استفاده نمایید. \item برچسب هر مرجع میتواند به فارسی نوشته شود، اما در آن نباید فاصله بکار برده شده باشد. به عنوان مثال به جای 'امین طوسی` بایستی از نیم فاصله استفاده نمود و آنرا به صورت 'امینطوسی` نوشت. دقت داشته باشید که در این حالت با بستهٔ \lr{hyperref} مشکل خواهید داشت. \item مراجع فارسی نیازی به فیلد \lr{authorfa} ندارند. -\item دقت داشته باشید که اگر اول فامیل و سپس اسم را مینویسید، اسم و فامیل را با کامای انگلیسی از هم جدا کنید. اگر حروف اول اسم را مونویسید، پس از آن نقطه و بعد حتماً یک فاصله و سپس فامیل را بنویسید. +\item دقت داشته باشید که اگر اول فامیل و سپس اسم را مینویسید، اسم و فامیل را با کامای انگلیسی از هم جدا کنید. اگر حروف اول اسم را مینویسید، پس از آن نقطه و بعد حتماً یک فاصله و سپس فامیل را بنویسید. %\item اگر مایلید که همچون این مثال، خط دوم هر مرجع کمی جلوتر برده شود فایل \lr{mybib.sty} را با دستور \lr{usepackage} پس از زیپرشین فراخوانی نمایید. -\item در مرجع \cite{Baker02limits}، فیلد \lr{authorfa} را نداریم، اسامی به صورت لاتین و برعکس نوشته شدهاند و سال هم به فارسی نوشته شده است. اگر آنرا به صورت لاتین میخواهید دستور ارجاع را به صورت \LRE{\verb+\LRE{\lr{\cite{referenceTag}}}+} بکار ببرید. +\item در مرجع \cite{Baker02limits}، فیلد \lr{authorfa} را نداریم، اسامی به صورت لاتین و برعکس نوشته شدهاند و سال هم به فارسی نوشته شده است. اگر آنرا به صورت لاتین میخواهید، در نسخههای جدید زیپرشین و \lr{bidi} میتوانید به راحتی از دستور \lr{Latincite} استفاده کنید. +حالا مرجع \Latincite{Baker02limits} درست نمایش داده میشود. از دستور فوقالذکر برای درج شماره مراجع به صورت لاتین در متن نیز میتوان استفاده نمود. اگر مایل باشید از دیگر دستورات ارجاع مانند citealp استفاده کنید باید آنرا به صورت زیربکار ببرید: +\begin{latin} \LRE{\verb+\LRE{\lr{\citealp{referenceTag}}}+} \end{latin} +%\newcommand\LRcite[1]{\LRE{\lr{\cite{#1}}}} - حالا مرجع \LRE{\lr{\cite{Baker02limits}}} درست نمایش داده میشود. البته میتوانید یک دستور جدید مثلاً به صورت زیر تعریف نمایید: -\begin{latin} -\begin{verbatim} -\newcommand\LRcite[1]{\LRE{\lr{\cite{#1}}}} -\end{verbatim} -\end{latin} -\item برای گزارش مشکل به تالار گفتگوی پارسیلاتک در آدرس زیر مراجعه فرمایید:\\ \begin{latin}\LRE{http://forum.parsilatex.com}\end{latin} +\item برای گزارش مشکل به تالار گفتگوی پارسیلاتک (\url{http://forum.parsilatex.com}) مراجعه فرمایید. \end{itemize} \section{پرسش و پاسخ} +\begin{question} + آیا برای داشتن مراجع، استفاده از استیلهای فارسی الزامی است؟ +\end{question} +\answer +هم بله و هم خیر. استیلهای فارسی کارهای مختلفی انجام میدهند؛ به جز استفاده از معادل فارسی برخی اصطلاحات، دستورات موردنیاز را در جای مناسب خود درج میکنند. در \lr{bidi} دستورات خاصی برای مراجع در محیطهای راست به چپ و چپ به راست وجود دارند که برای آشنایی با آنها باید به راهنمای این سبک مراجعه شود. از جمله این موارد، محیط \lr{LTRbibitems} است که برای درج مراجع لاتین در یک محیط راست به چپ استفاده میشود و در استیلهای فارسی از آن استفاده شده است. اگر از استیلهای فارسی استفاده نکنید، وظیفه درج این دستورات به عهده خود شما خواهد بود. + \begin{question} آیا میتوان شماره صفحات ارجاعی به هر مرجع را در انتهای هر مرجع داشت؟ این حالت مخصوصاً هنگام داوری یک مقاله یا پروژه خیلی مفید است. \end{question} @@ -226,13 +240,45 @@ xelatex myfile \begin{question} حروف فارسی در لیست مراجع من بههم ریخته و ناخوانا است. مشکل از چیست؟ \end{question} \answer همانگونه که قبلاً اشاره شد فایل \lr{bib} بایستی با رمزینهی \lr{UTF-8} ذخیره شده باشد. به جای ایجاد فایل \lr{bib} جدید برای خود، -فایل \lr{MyReferencesbib} را که با رمزینهی \lr{UTF-8} ذخیره شده است را تغییر داده در صورت نیاز با نامی دیگر ذخیره نمایید. +فایل \lr{MyReferences.bib} را که با رمزینهی \lr{UTF-8} ذخیره شده است را تغییر داده در صورت نیاز با نامی دیگر ذخیره نمایید. \begin{question} عبارت \lr{OPT} که در \lr{TeXMaker} در ابتدای نام برخی از فیلدها گذاشته میشود چیست؟ \end{question} \answer این عبارت به منزلهٔ اختیاری بودن آن فیلد است. اگر از آن فیلد استفاده میکنید باید \lr{OPT} را حذف کنید. +\begin{question} چرا در هنگام استفاده از دستورات \lr{\SLASH Persian} و \lr{\SLASH Latin} با خطا مواجه میشوم؟ \end{question} +\answer این دستورات منسوخ شده و در نسخهی فعلی زیپرشین پشتیبانی نمیشوند. محیط پیش فرض مراجع، فارسی است و برای درج مراجع لاتین باید آنرا داخل محیط \lr{LTRbibitems} قرار دهید. + +\begin{question} اگر خواسته باشیم شماره مراجع لاتین در بخش مراجع، فارسی باشد چکار کنیم؟ \end{question} +\answer برای این منظور کافیست دستور \lr{\SLASH resetlatinfont} را به پس از \lr{\SLASH bibitem} منتقل کنید. + استیلهای فارسی فعلی به نحوی آماده شدهاند که شماره مراجع لاتین به انگلیسی و شماره مراجع فارسی به فارسی ظاهر میشود و اگر خواسته باشید این کار را انجام دهید باید تغییر فوقالذکر را به صورت دستی در فایل \lr{bbl} خود اعمال نمایید (که البته با اجرای \lr{bibtex} بعدی از بین خواهند رفت). +\begin{question} اگر خواسته باشیم شماره مراجع لاتین در داخل متن، انگلیسی باشد چکار کنیم؟ \end{question} +\answer به جای دستور \lr{\SLASH cite} از دستور \lr{\SLASH Latincite} استفاده کنید. + +\begin{question} اگر هنگامیکه به چندین مرجع پشت سر هم ارجاع میدهیم خواسته باشیم به صورت خودکار شماره مراجع اولی و آخری با یک خط تیره از هم جدا شوند چه کنیم؟ +(به عبارت دیگر مایلیم [۲و۳و۴و۵و۶] به صورت [۲-۶] نمایش داده شود). + \end{question} +\answer اگر از بستهی \lr{natbib} استفاده میکنید، آنرا به همراه گزینهی \lr{sort\&compress} بکار ببرید. درغیر اینصورت از بستهی \lr{cite} استفاده کنید. + +\begin{question} آیا ابزاری برای مدیریت مراجع وجود دارد که از قالب نوشتن مراجع در \lr{Bib\TeX} پشتیبانی کند؟ \end{question} +\answer بله، بسیاری از نرمافزارهای مدیریت مراجع قادر به \lr{import} و \lr{export} کردن مراجع به فرم مورد نیاز \lr{Bib\TeX} هستند. یک نمونه نرمافزار مجانی مدیریت مراجع \lr{Mendeley\LTRfootnote{\url{http://www.Mendeley.com}}} است که امکانات بسیار خوبی برای مدیریت مراجع دارد. + +\begin{question} وقتی از یکی از چهار استیل \lr{usrt-fa}،\lr{plain-fa}، \lr{acm-fa} و یا \lr{ieeetr-fa} را با همین سند بکار میبرم خطا دریافت میکنم. علت چیست؟ + \end{question} +\answer استیل استفاده شده در این فایل راهنما، \lr{asa-fa} است که نیاز به بستهی \lr{natbib} دارد، درحالیکه برای استفاده از چهار استیل مذکور نباید این بسته را فراخوانی نمود. + +\begin{question} چگونه میتوانم هنگامیکه از بستهی \lr{natbib} استفاده میکنم مراجع را نیز شمارهگذاری نمایم؟ + \end{question} +\answer بستهی \lr{natbib} را با گزینهی \lr{numbers} فراخوانی نمایید. + +\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*{قدردانی} -در اینجا لازم است از آقایان وفا خلیقی به خاطر تولید بستهٔ \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 f094e4cba97..27e95870691 100644 --- a/Master/texmf-dist/doc/xelatex/persian-bib/README +++ b/Master/texmf-dist/doc/xelatex/persian-bib/README @@ -1,30 +1,42 @@ -Persian-bib, V0.4 2010/01/25 -Author: Mahmood Amintoosi, http://webpages.iust.ac.ir/mamintoosi +Persian-bib, V0.6 2011/07/10 +Persian translations of some BibTeX styles +Author: Mahmood Amintoosi, http://profsite.sttu.ac.ir/mamintoosi +Copyright 20092011 +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 + +This work is author-maintained (as per LPPL maintenance status) +by Mahmood Amintoosi +------------------------------------------------------------------------------ These files are Persian translations of some of the classical BibTeX style files. -Unlike bib-fr package which can be used only for French references, the Persian .bst files -simultaneously do handle Latin and Persian references. +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. +File 'cp1256fa.csf' is prepared for correct sorting of Persian references and +three fields named 'LANGUAGE', 'TRANSLATOR' and 'AUTHORFA' are defined. -Setting 'LNAGUAGE' to 'Persian' makes the reference direction Left-to-Right and makes BibTeX -to use Persian translations of keywords such as 'et al.'. -Also some other modifications has been done. for example in Persian references, instead of Latin -references, the book edition appears before the edition number. If this field is omitted or -contains a word other than 'Persian', the reference considered as Left-to-Right reference. +Setting 'LNAGUAGE' to 'Persian' makes the reference direction Left-to-Right and +makes BibTeX to use Persian translations of keywords such as 'et al.'. +Also some other modifications has been done. for example in Persian references, +instead of Latin references, the book edition appears before the edition number. +If this field is omitted or contains a word other than 'Persian', the reference +considered as Left-to-Right reference. -'TRANSLATOR' field is used when a reference is translated by someone. His or her name appears in -the reference in the proper location. +'TRANSLATOR' field is used when a reference is translated by someone. +His or her name appears in the reference in the proper location. -'AUTHORFA' is used with Asa-fa.bst, chicago-fa.bst and plainnat-fa.bst. 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. +'AUTHORFA' is used with Asa-fa.bst, chicago-fa.bst and plainnat-fa.bst. +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. 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 translation. +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://www.parsilatex.com +http://bitbucket.org/mamintoosi/persian-bib/ + 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 differnew file mode 100644 index 00000000000..58a755473e1 --- /dev/null +++ b/Master/texmf-dist/doc/xelatex/persian-bib/bibtex-example.pdf diff --git a/Master/texmf-dist/doc/xelatex/persian-bib/bibtex-example.tex b/Master/texmf-dist/doc/xelatex/persian-bib/bibtex-example.tex new file mode 100644 index 00000000000..c09c93b2295 --- /dev/null +++ b/Master/texmf-dist/doc/xelatex/persian-bib/bibtex-example.tex @@ -0,0 +1,30 @@ +\documentclass[11pt,a4paper]{article} + +% استفاده از بستهی زیر الزامی نیست ولی با استفاده از آن میتوانید لینکهای رنگی به مراجع خود داشته باشید. +\usepackage[colorlinks,citecolor=blue]{hyperref} + +\usepackage{xepersian} +\settextfont{XB Zar} +\setlatintextfont[Scale=1]{Linux Libertine} + +\title{نمونه خروجی با استیل فارسی \lr{acm-fa} برای \lr{BibTeX} در زیپرشین} +\author{محمود امینطوسی}\date{} +\begin{document} +\maketitle + +مرجع \cite{Omidali82phdThesis} یک نمونه پروژه دکترا و مرجع \cite{Vahedi87} یک نمونه مقاله مجله فارسی است. +مرجع \cite{Amintoosi87afzayesh} یک نمونه مقاله کنفرانس فارسی و +مرجع \cite{Pedram80osool} یک نمونه کتاب فارسی با ذکر مترجمان و ویراستاران فارسی است. مرجع \cite{Khalighi07MscThesis} یک نمونه پروژه کارشناسی ارشد انگلیسی و +\cite{Khalighi87xepersian} هم یک نمونه متفرقه میباشند. + +مرجع \cite{Gonzalez02book} یک نمونه کتاب لاتین است که از آنجا که دارای فیلد \lr{authorfa} است، نام نویسندگان آن در استیلهای \lr{asa-fa}، \lr{plainnat-fa} و \lr{chicago-fa} به فارسی دیده میشود. مرجع \cite{Baker02limits} مقاله انگلیسی است که معادل فارسی نام نویسندگان آن ذکر نشده بوده است. + + +{\small +% در اینجا میتوانید سبکهای مختلف را گذاشته و تفاوت خروجی را ببینید +\bibliographystyle{acm-fa} + +\bibliography{MyReferences} +} + +\end{document} diff --git a/Master/texmf-dist/doc/xelatex/persian-bib/gen_pdf.pl b/Master/texmf-dist/doc/xelatex/persian-bib/gen_pdf.pl new file mode 100644 index 00000000000..5e2e56a944e --- /dev/null +++ b/Master/texmf-dist/doc/xelatex/persian-bib/gen_pdf.pl @@ -0,0 +1,55 @@ +########################################################## +# Author: Mahmood Amintoosi # +# Date: 10 Feb 2011 # +# Version: .10 # +# Application: Produce pdf files of Persian-bib styles # +########################################################## + +use File::Copy; + +open(INFILE,"bibtex-example.tex"); + +@styleList = ("acm-fa","plain-fa","unsrt-fa","ieeetr-fa","asa-fa","chicago-fa","plainnat-fa"); +@natbibStyles = ("asa-fa","chicago-fa","plainnat-fa"); + +@lines = <INFILE>; +foreach $style (@styleList) +{ + $fileName = $style.".pdf"; + $tmpFile = "tmp"; + open(OUTFILE,">".$tmpFile.".tex"); + print $fileName; + foreach $line(@lines) + { + + $a = $line; + #Checking wether natbib package is required or not + $natbibRequired = 0; + foreach $natbibStyle(@natbibStyles) + { + if($style eq $natbibStyle) + { + $natbibRequired = 1; + #last; + } + } +# print $natbibRequired; + if ($natbibRequired==1 && $a =~ /usepackage{xepersian}/) + { + print OUTFILE "\\usepackage{natbib}\n"; + } + $a =~ s/acm-fa/$style/; + print OUTFILE $a; + } + + close (OUTFILE); + system("xelatex",$tmpFile); + system("bibtex8","-W","-c","cp1256fa",$tmpFile); + system("xelatex",$tmpFile); + system("xelatex",$tmpFile); + copy($tmpFile.".pdf",$fileName) or die "Copy failed: $!"; + unlink <tmp.*>; + #seek(INFILE,0,SEEK_SET); + } + close (INFILE); + |