رفرنس‌دهی در لاتک با bibtex

منابع آخر کتاب‌ها، مقالات و پایان‌نامه‌ها استانداردهای متفاوتی برای نوشتن دارند که وابسته به نوع سند، یعنی کتاب، مقاله و پایان‌نامه گاهی شیوه‌ی نوشتار متفاوتی دارند. قطعا دستی وارد کردن منابع و مراجع انتهای و یا هر جای دلخواه از سند کار منطقی نیست. لاتک شیوه‌ی فوق‌العاده‌ای برای این کار داره. اول اینکه باید بدونید bibtex (ترجیحا بخوانید بیب‌تک) چیه.
بیب‌تک یه فرمت متنیه که توی اون نوع سند، نویسنده، منتشرکننده، سال انتشار، عنوان سند و… لیست می‌شن. اکثر دیتابیس‌های مقاله و کتاب توی صفحه‌ی هر مقاله‌ای که منتشر می‌کنن قابلیت دانلود رایگان فایل bibtex اون مقاله رو به شما می‌دن. برای مثال bibtex یه مقاله رو اینجا ببینید:

می‌بینید که به شکل مارک‌آپ (یا داون حالا)گونه‌ای اطلاعات مربوط به مقاله اورده شده توی این بیب‌تک.

از کجا برای مراجع پایان‌نامه یا کتابم فایل بیب‌تک پیدا کنم؟

۹۹ درصد مواقع از هر دیتابیسی که مقاله‌تونو می‌گیرید می‌تونید به راحتی bibtexشو هم پیدا کنید. مثلا توی    scienceDirect بالای هر مقاله یه کلید export داره که با زدن اون و انتخاب bibtex می‌تونید فایل bibtex مقاله‌تون رو دانلود کنید. بقیه دیتابیس‌ها هم اگه بگردین اطراف مقاله چیزی برای دانلود بیب‌تک دارن. اگه نبود هم گوگل (یا داک) کنید پیدا می‌شن. حالا به فرض محال دیگه هم که نبود خودتون می‌تونید دستی تایپ کنید یه قالب مشابه‌ش رو با اطلاعات لازم.

چطور استفاده کنم از بیب‌تک‌ها…

خیلی ساده است. فایل‌های بیب‌تک رو باز کنید و محتواشونو پشت سر هم (زیرهم) توی یه فایل بیب‌تک کلی مثلا refrence.bib ذخیره کنید و بذاریدش تو مسیر پروژه تون.
بعد از این کار توی فایل تک جایی که می‌خواین لیست منابع و مراجع چاپ شن دستورات زیر رو بزنید. دقت کنید که فرض شده فایل bibtexی که ساختین با نام refrence.bib در مسیر پروژتون ذخیره شده.

حالا جایی که می‌خواین یه بیب‌آیتم رو ارجاع بدین با دستور \cite{artname} ارجاع بدین. دقت کنید به جای artname اسم بیب‌تک خودتون رو بیارید. من با توجه به مثالی که از بیب‌تک زدم بالا این اسم رو انتخاب کردم. دقت کنید اسم هر بیب‌آیتم دقیقا قبل از علامت @ میاد و شما می‌تونید اسم دلخواه برای هر کدوم بزارین توی فایل بیب‌تکتون. (دقت کنید بیب‌آیتم مثال ما با @article{artname, شروع شده)

بعد از نوشتن چطور فایل دارای مرجع باید کامپایل بشه؟

دقت کنید برای کامپایل یه فایل که منبع جدیدی به فایل bibtexتون اضافه کردین و استفاده کردین لازمه این ترتیب در انتخاب موتورهای کامپایل اجرا بشه. برای متن انگلیسی:

و برای متن فارسی هنگام لود xepersian

را اجرا کنید و خروجی را ببینید:

سوالی داشتین در خدمتم.

نوشتن معادلات چپ‌چین و وسطچین در LaTeX

توی نوشتن بعضی متون ریاضی پیش میاد که نیاز پیدا می‌کنین به نوشتن معادلات چپ‌چین و وسطچین در LaTeX، یعنی بعضی از فرمولا رو چپ‌چین و بعضیا رو وسطچین کنید. اکثر راه‌حل‌هایی که توی اینترنت پیدا کردم، باعث می‌شدن همه معادلات با هم راست‌چین یا با هم وسط‌چین بشن تا اینکه یه راه خوب پیدا کردم. اونم استفاده از محیط flalign برای معادلات وسط‌چین بود. اینم  البته بگم شاید روش‌هایی خودتون داشته باشین برای این‌کار. ولی توصیه شدید من اینه که از این روش استفاده کنید. چون خودم روش‌های زیاد دیگه‌ای رو تست کردم و بهترین این بود.
برای این کار کافیه توی مقدمه سندتون (یعنی قبل از begin document) پکیج amsmath رو لود کنید. amsmath پکیجیه که به کمکش می‌تونید ریاضی رو خیلی بهتر از حالت معمول تایپ کنید (ams مخفف جامعه‌ی ریاضی‌دانان آمریکاست).

بعد لود این پکیج یه محیطی به اسم محیط flalign قابل تعریف خواهد بود که توی اون می‌تونید همون محیط align رو داشته باشین با این تفاوت که این‌بار معادلاتتون رو به‌شکل چپ‌چین خواهید داشت و اینکه از نظر طرز استفاده هیچ تفاوتی با حالت وسط‌چین یعنی flalign نداره. مثلا برای نوشتن این معادله:

که خروجیش می‌شه این:
flalign1
دقت کنید اون علامت ها حتما باید باشند تا معلوم بشه چجوری می‌خواین معادلتون رو در خطوط مختلف بچینید. مثلا فرض کنید می‌خواین معادله‌ی فرضی زیری رو بنویسین:
flalign2

می‌تونین برای این کار به شکل زیر عمل کنید:

اینم یادتون نره اگه می‌خواین همین کارا رو وسط چین انجام بدین به‌جای محیط flalign از محیط align استفاده کنید. در مجموع دقت کنید که این دو محیط مثل یک جدول عمل می‌کنن که باعث می‌شن اجزای مورد انتظار در قسمت‌های مختلف معادله که زیرشون علامت & اومده از هم جدا بشن. این دید جدولی به این دو محیط (align و flalign) خیلی کمک می‌کنه تا تسلط بیشتری موقع استفاده ازشون داشته باشین.
نظراتتون مثل همیشه باعث خوشحالیم خواهد بود.

افزونه WooStat

مدیریت یه فروشگاه در وردپرس به اسم  ووکامرس دستمه که کارگاه‌های یه مرکز آموزش دانشگاهی توش ثبت‌نام می‌شه و درگاه پرداخت آنلاین هم داره. ازم خواستن هر روز گزارش تعداد ثبت‌نامی‌هایی که پرداخت هم کردن رو گزارش بدم. برای همین با استفاده از یه افزونه که خروجی CSV می‌گرفت لازم بود تک‌تک کارگاه‌ها رو خروجی بگیرم و توی یه ادیتور یا یه نرم‌افزار صفحه‌گسترده ببینم هر کارگاه چند نفر ثبت‌نام کردن. طی چند روز احساس کردن این دیگه خیلی خرکاریه که ازم انتظار می‌ره. هیچ افزونه‌ای برای این کار پیدا نکردم. پس تصمیم گرفتم خودم بنویسمش. اسم افزونه‌مو گذاشتم WooStat و شروع کردم به نوشتن. اول فقط سفارش‌ها رو شمردم، بعد سفارش‌های چندتایی رو هم شمردم و تعداد کلی رو هم برای هر محصول (کارگاه) اضافه کردم و بعد قیمت کل فروش هر محصول رو هم اضافه کردم.
در صورتی که فکر می‌کنید دوست دارید در توسعه و بهبود افزونه همکاری کنید خوشحال می‌شم به ریپو گیتهاب افزونه بیاین و توی بهبود و حتی تمیزکردن کد همکاری کنید.

فراخوان ارسال مشخصات ارائه برای روز آزادی نرم‌افزار

دوستم سعید مثل هرسال منو از روز آزادی نرم‌افزار مطلع کرد. امسال هم مثل پارسال، جشن روز آزادی نرم‌افزار خواهیم داشت در روز ۸ مهر ۹۵ و باز هم در دانشگاه شریف. خوشحال می‌شم شما دوستای عزیزو اونجا ببینم 🙂
از اون‌جایی که سعید خواست پیامشو منتشر کنم اینجا براتون نقل‌قول می‌کنم:

📢 فراخوان ارسال مشخصات ارائه

روز آزادی نرم‌افزار (SFD) روزی است که طرفداران نرم‌افزار آزاد، آن را جشن می‌گیرند. هدف اصلی این جشن‌ها، معرفی مفهوم نرم‌افزار آزاد به دیگران و تشویق آن‌ها به استفاده از آن است.

امسال جشنواره روز آزادی نرم‌افزار تهران مورخ ۸ مهر ۱۳۹۵ از ساعت ۹ تا ۱۷ در دانشگاه صنعتی شریف، در دو بخش عمومی و کارگاه‌ها و با محوریت معرفی، ترویج، افزایش کاربرد و استفاده، جذب مشارکت و حمایت جامعه و تولید در زمینه نرم‌افزار آزاد برگزار خواهد شد. همانند دوره‌های پیشین شرکت در این جشنواره بدون هیچ محدودیتی برای عموم علاقه‌مندان آزاد و رایگان است.

علاقه‌مندان می‌توانند موضوعات پیشنهادی خود را در زمینه‌های تخصصی و عمومی نرم‌افزار آزاد یا دانش آزاد برای بخش همایش، پوستر یا کارگاه‌ها تا تاریخ ۳۱ شهریور از طریق فرم ارسال مشخصات ارائه، ثبت کنند. برای اطلاعات بیشتر درباره روش انتخاب و سنجش علمی ارائه‌ها و موضوعات پیشنهادی صفحه معیارهای سنجش علمی ارائه‌ها را مطالعه کنید.

به امید دیدار شما در روز آزادی نرم‌افزار تهران

سایت رسمی جشنواره
فرم ارسال مقاله
صفحه مقالات

یک توصیه برای علاقه‌مندان هوش‌مصنوعی: یادگیری آماری

ترم پیش یه درسی داشتیم به اسم فنون آماری با خانم دکتر امین‌غفاری. این درس به‌نظرم از معدود درس‌هاییه که بشه گفت تو دوران تحصیلم مفیده بود. لااقل از جهت ایده‌هایی که بهم داد. موضوع این درس در یک کلام مبحث یادگیری آماری بود، که در واقع بستری آماری از همون مبحث یادگیری ماشینه که توی اون ابزارهای بستری خوبی برای پیداکردن توابع پیشگو در یادگیری‌های باناظر و بدون ناظره. ابزارهایی که توی مباحث یادگیری ماشین مثلا بینایی ماشین، تشخیص صدا، پرازش سیگنال و… کاربرد اساسی دارن. منبعی که برای این درس خوندیم و من هم بهتون توصیه می‌کنم  کتاب Statistical Learning نوشته‌ی Trevor Hastie. Robert Tibshirani. Jerome Friedman بود.

 لازم می‌دونم بگم نویسنده‌ی اول این کتاب که اسمش Hastie هست با اون «هستی» که تو فارسی داریم که اسم خانمه فرق می‌کنه و اینجا اسم یه آقاست در استنفورد. چون اول تصور می‌کردم یه خانمه. نمی‌دونم چرا :).

در آخر اگر به هوش‌مصنوعی و یا به‌طور خاص به یادگیری ماشین علاقه‌مندید بهتون توصیه می‌کنم این مبحث آماریو پی‌گیری کنید. لااقل ایده‌گرفتن ازش هم می‌تونه جالب باشه.
نظراتون باعث خوشحالیم خواهد بود :).

برآورد عدد π به روش مونت کارلو!

به ذهنم رسیده بود که یک پست بزار از یه کار ساده اما جالب! برآورد عدد معروف پی (π)، به روش مونت‌کارلو!
ایده اصلی توی این روش اینه که برای برآورد ما بیایم از شبیه‌سازی استفاده کنیم. یعنی با تولید اعداد شبه‌تصادفی برآورد می‌کنیم.
برای اینکار شما یک مربع به طول ضلع ۲r و یک دایره که توی مربع محاط شده به شعاع r  رو در نظر بگیرین.
circler

بعد ما بیایم نقاطی تصادفی با توزیع یکنواخت توی مربع انتخاب کنیم. برای این کار هم  وقتی به شکل زوج مرتبی بین تو فاصله‌ی [r,r-] نمونه بگیریم، یعنی اعدادی به شکل:
(X1,Y1);
(X2,Y2);
(X3,Y3);

(Xn,Yn)
به دست بیاریم که همه مولفه‌ها تو فاصله‌ی r تا r- هستن.

اون وقت واضحه‌ که نسبت تعداد نقاطی که توی دایره‌ی محاط شده‌ توی مربع میفتن، برآورد خوبی برای نسبت مساحت دایره به مساحت مربع خواهند بود، که این نسبت برابر می‌شه با:

{\Huge \frac{circle}{rectange} = \frac{\pi r^2}{4 r^2} = \frac{\pi}{4}}

خب برای پیاده‌سازی این روش ما می‌تونیم به طور تصادفی نقاطی رو توی مربع به طول ضلع انتخابی انتخاب کنیم و طبق رابطه‌ای که بالا نوشتیم، نسبت تعداد نقاطی که توی دایره میفتن به تعداد کل نمونه‌ی انتخابیمون برآورد خوبی برای عدد  \frac{\pi}{4} میشه! هر چی که تعداد نمونه‌ای که گرفتیم بیشتر بشه هم دقت ما در برآورد عدد π بیشتر می‌شود وبه عبارتی با میل کردن تعداد نمونه به بینهایت، نسبت تعداد نقاط در دایره به کل نمونه به عدد ۴/π میل می‌کنه! که با ضرب عدد حاصل در ۴ برآوردی برای π به‌دست میاد.
اینجا یه کد ساده‌ی R نوشتم که باهاش با تعداد نمونه‌ی دلخواه می‌شه با روش مونت کارلو برآوردی برای π به دست آورد:

دقت کنید! هر بار اجرای این کد عدد متفاوتی رو به شما می‌ده! چون شبیه‌سازی‌ مبتنی بر عدد تصادفیه! مثلا عدد‌های ۳٫۱۵۱۹۵، ۳٫۱۳۳۲۵ و ۳٫۱۴۳۴ سه‌تا نتیجه از سه شبیه‌سازی پشت سر هم بود که با این نمونه‌ی ۸۰۰۰۰تایی به دست آوردم!
نظراتتون باعث خوشحالیم خواهد بود. 🙂