تالار گفتگوی پارسی‌لاتک

ابزارهای جانبی => مراجع و بیب‌تک BibTeX => نويسنده: masood69h در ژوئن 11, 2014, 09:27:25 pm

عنوان: درج doi در انتهای هر مرجع
رسال شده توسط: masood69h در ژوئن 11, 2014, 09:27:25 pm
با سلام.
برای آن‌که doi هر مرجع در انتهای آن مرجع قرار داده شود، چه تغییری در فایل bst آن استایل باید ایجاد شود؟ منظورم این است که مقدار doi در انتها درج شود و اگر روی آن doi کلیک شود، صفحه مربوط به آن مقاله باز شود. شاید عکس ضمیمه منظورم را بهتر منتقل کند. در تاپیک http://www.parsilatex.com/forum/SMF/index.php?topic=4656.0 (http://www.parsilatex.com/forum/SMF/index.php?topic=4656.0)
درباره این موضوع توضیح اندکی داده شده است.
در صورت امکان بفرمایید اگر بخواهم چنین قابلیتی را به یک استایل مثلاً ieeetr-fa بدهم، چه تغییری باید در آن ایجاد کنم؟
عنوان: پاسخ : درج doi در انتهای هر مرجع
رسال شده توسط: narimand در ژوئن 12, 2014, 01:25:14 am
با سلام.
برای آن‌که doi هر مرجع در انتهای آن مرجع قرار داده شود، چه تغییری در فایل bst آن استایل باید ایجاد شود؟ منظورم این است که مقدار doi در انتها درج شود و اگر روی آن doi کلیک شود، صفحه مربوط به آن مقاله باز شود. شاید عکس ضمیمه منظورم را بهتر منتقل کند. در تاپیک http://www.parsilatex.com/forum/SMF/index.php?topic=4656.0 (http://www.parsilatex.com/forum/SMF/index.php?topic=4656.0)
درباره این موضوع توضیح اندکی داده شده است.
در صورت امکان بفرمایید اگر بخواهم چنین قابلیتی را به یک استایل مثلاً ieeetr-fa بدهم، چه تغییری باید در آن ایجاد کنم؟
سلام،

اصلی‌ترین سوال: دانشگاه شما گفته با فرمت ieee-fa مراجعتون رو مرتب کنید و doi بیارید داخلش؟ خب این که نشد استایل موجود!

اگه به هر دلیلی می‌خواین این کار رو انجام بدین،
ساده‌ترین پیشنهادی که میشه داد اینه:
 اگه نیازی ندارین که DOI حتما یه خط جداگانه داشته باشه، میشه از فیلد Note استفاده کرد. داخل اون یه href بگذارید، توی یه فیلد شماره اعداد اون، و اون یکی لینکش.
من برای ذکر یه سری اطلاعات از اون فیلد استفاده کردم، مشکلی هم نداشتم باهاش. ولی خب خط جدیدی نمی‌ره.

 راه حل سخت: اگه می‌خواین حتما استایل را تغییر بدین و یه استایل غیرieee ایجاد کنید، فایل ieeetr-fa.bst رو که باز کنید

  ۱- در بخش entry باید یه فیلد به نام doi اضافه کنید. (پیشنهاد می‌کنم  ۲تا فیلد باشه، یکی عدد doi و یکی آدرسش. چون پیاده کردن الگوریتم تبدیلش فقط مایه عذاب خواهد بود)

  ۲- توی functionهای نوشته شده، اجازه خالی بودن این فیلد رو بدید که مواقعی که نیاز نیست ارور ندن که این خالیه.

  ۳- از functionهای نوشته شده، برای نوشتن یه function جدید استفاده کنید که چیدمان doi رو انجام بده. خالی بودن فیلد، underline بودنش و ....
     مسلما این newline همینجا باید فراخوانی بشه. یعنی اول بره خط بعدی، یعد اطلاعات doi قرار داده بشن.

  ۴- توی functionهای خط ۸۳۹ به بعد شروع کنید به فراخوانی اون فیلد. مثلا برای چیدمان مقاله داریم:

FUNCTION {article}
{ output.bibitem
  format.authors "author" output.check
  format.title "title" output.check
  blank.sep
  crossref missing$
    { journal emphasize "journal" output.check
      format.volume output
      month empty$
{ format.number output }
'skip$
      if$
      format.pages output
      format.date "year" output.check
    }
    { format.article.crossref output.nonnull
      format.pages output
    }
  if$
  new.block
  note output
  fin.entry
}
  آخر این مجموعه می‌تونید فیلد doi  خودتون رو فراخوانی کنید که میشه شماره سومی که گفتم. این رو برای همه چیزایی که doi دارن باید اضافه کنید. یعنی علاوه بر مقاله، برای کنفراس
عنوان: پاسخ : درج doi در انتهای هر مرجع
رسال شده توسط: masood69h در ژوئن 12, 2014, 02:04:45 am
ممنون از پاسختون.
خودم درستش کردم.
لینکش را ضمیمه کردم.
در هر حال متشکرم.