پذیرش تبلیغات در سایت پرسش و پاسخ پارسی‌لاتک--> شرایط پلن‌ها و قیمت
اولین بار است که به اینجا می‌آیید؟ راهنمای سایت را بخوانید!
Close Sidebar
وب‌سایت پرسش و پاسخ پارسی‌لاتک جایی برای پرسش و پاسخ درباره سیستم حروف‌چینی لاتک و بسته زی‌پرشین است. در اینجا می‌توانید سوال‌های خود را بپرسید و به سوال‌های دیگران پاسخ دهید.

محبوب‌ترین برچسب‌ها

رفع خطا جدول مراجع ریاضی‌نویسی شکل xepersian شماره‌گذاری فهرست مطالب منابع فونت bidi parsilatex تک‌لایو اسلاید پانویس زی‌پرشین بیمر بیب‌تک پاورقی نماد tikz biditexmaker ویرایشگر سربرگ هدر bibtex قالب رسم شکل واژه‌نامه texstudio ارجاع‌دهی اندازه فونت beamer ماتریس bidipresentation رسم جدول عنوان فصل عنوان شکل اسلاید فارسی حاشیه فرمول‌نویسی گراف محیط قضیه زیرنویس شکل حروف‌چینی کد اعمال نشدن تغییرات در پی‌دی‌اف عدم اجرا متن لاتین و فارسی رنگ مکان شکل شماره صفحه شماره فصل tabriz_thesis فارسی‌تک align نیم‌فاصله فهرست اشکال listings tikzpicture بسته فرمول enumerate خروجی فاصله‌گذاری itemize نمایه biditools کادر texlive2015 biditufte-book سوال امتحانی فرمول چندضابطه‌ای نمودار شماره‌گذاری صفحات glossaries فونت فارسی و انگلیسی کپشن texmaker الگوریتم texlive2016 hyperref تصویر شماره پاورقی خطا پیوست‌ دیاگرام lollipop چپ‌چینی فصل‌نویسی تنظیم جدول ماکرونویسی میک‌تک subfigure اندیس لاتک شماره فرمول فاصله بین خطوط تک لایو 2015 به‌روزرسانی بسته aimc46 kashida سوال چهارگزینه‌ای texworks کاما حروف‌چینی چندستونی xindy iust-thesis قالب پایان‌نامه جستجوی معکوس تورفتگی پوستر فرمول طولانی tex-programming قرآن multicol فهرست جداول pdf زیرنویس عنوان بخش فاصله سطرها اعداد فارسی میکروسافت ورد header winedt آکولاد فلش نوشتافت شکست خط صفر توخالی کمک مالی بیرون‌زدگی شمارنده فصل اوبونتو tabriz-thesis محیط ریاضی جایابی تصویر caption شمارنده شماره گذاری فاصله خطوط فهرست نمادها غلط‌گیری املایی رسم کادر fancyhdr عکس پانویس پاراگرافی جداکننده شماره قسمت شماره‌گذاری فرمول bidihl neveshtuft قالب کتاب پاراگراف‌بندی pgfplots وسط‌چینی افقی هایپرلینک الگوریتم‌ شعر پیکان equation جدول افقی قسمت نصب تک‌لایو رسم نمودار توابع فونت ایتالیک شکستن جدول رسم گراف پانویس افقی فونت اعداد بازیابی اطلاعات algorithm2e فونت بولد زیرشکل قاب بولد bidipoem xelatex fontspec متلب tabular extrafootnotefeatures text قلم baselineskip tex computeautoilg متن فارسی و انگلیسی رسم نمودار tcolorbox فرمول چندخطی آپدیت texlive ایتالیک cite لوگو sumatra geometry matlab eps texlive2014 زیرنویس لاتین
6 نفر آنلاین
0 عضو و 6 مهمان در سایت حاضرند
بازدید امروز: 2792
بازدید دیروز: 7456
بازدید کل: 4087727

استفاده از Processing Tools در ویرایشگر TeXWorks

0 رای
102 بازدید

گاهی اوقات ما نیاز داریم که چند کامپایلر مختلف را پشت سر هم فراخوانی کنیم تا کد ما خوانده شود و خروجی مناسب بگیریم. به عنوان مثال در زمانی می خواهیم مراجع خود را از فایل .bib بخوانیم باید ابتدا pdflatex، بعدbibtex و دوبار دیگر pdflatex را اجرا کنیم تا مراجع ما تولید شوند. طبیعی است که مایل باشیم این کار را تنها با یک کلیک انجام دهیم. سوال من این است که چطور می توان این کار را در TeXWorks انجام داد.

من متوجه شدم که از مسیر زیر باید این کار را انجام داد.

edit-preferences-typesetting

که عکس آن در زیر نمایش داده شده است. اما در ادامه نمی دانم که چه باید کرد. در واقع چه چیزهایی در قسمت arguments باید نوشته شود و آدرس چه فایلی را باید بدهیم؟

این پست رو هم در سایت معروف stack exchange پیدا کردم.

enter image description here

سوال شده 5 روز قبل توسط حسین رهنما (119 امتیاز)
ویرایش شده 5 روز قبل توسط حسین رهنما

4 پاسخ

0 رای
 
بهترین پاسخ

این پاسخ بر این اساس است که شما از ویندوز استفاده می کنید.

ابتدا یک فایل متنی جدید با عنوان MyScript.txt ایجاد کنید و در داخل آن کد زیر را قرار دهید. سپس پسوند آن را به .bat تغییر دهید. اگر شما TeXlive را در مسیر پیش فرض خود نصب نکرده اید، باید آدرس هریک از فایل های .exe زیر را به طور کامل بنویسید.

pdflatex.exe %1 %2 %3
bibtex.exe %4
makeindex.exe %4
pdflatex.exe %1 %2 %3
pdflatex.exe %1 %2 %3

سپس TeXworks رو باز کنید و به قسمت نشان داده شده در سوال بروید. قسمت Name نام کد شما در TeXworks خواهد بود که می توانید آن را هم نام با فایل کد یعنی MyScript نامگذاری کنید. در قسمت Program آدرس فایل MyScript.bat را بدهید. سپس در قسمت Arguments موارد زیر را به ترتیب اضافه کنید و OK کنید.
enter image description here
حال MyScript به کامپایلرهای شما اضافه شده است. آن را انتخاب کنید و سند خود را با آن پردازش کنید.عکس زیر را ببینید.
enter image description here
در زیر یک مثال کمینه قرار می دهم.

\documentclass{article}
\usepackage[colorlinks=true,citecolor=blue]{hyperref}
\usepackage[numbers]{natbib}

\begin{document}

Using BibTeX is very easy! What you need is just citing as usual for articles like
\citet*{Torabi2015a}, \citet*{Ghayesh2017} or for books \citet*{Torabi2014}, \citet*{article}.

It should be noted that the style selected for \verb!\bibliographystyle! should match the \verb!numbers! or 
\verb!authoryear! option for \verb!natbib! package.

When changing the bibliography style, sometimes \verb!natbib! won't work because it can't interpret the data correctly.
Usually, this error is generated ``Package natbib Error: Bibliography not compatible with author-year citations''.

If you change the argument of \verb!\bibliographystyle! then a run of pdfLaTeX and one of BibTeX and two of pdfLaTeX are necessary to synchronize the references and citations. Removing the .bbl and .aux files before those runs is recommended, in order to avoid spurious 
error messages that might corrupt the .aux file currently being generated.

\bibliographystyle{unsrtnat}
\bibliography{Refs}

\end{document}

که برای اجرای آن نیاز به ایجاد یک فایل با عنوان Refs.bib در کنار فایل اصلی دارید. محتویات این فایل به صورت زیر است.

@article{Torabi2015a,
author  = {F. Torabi and Sh. Haghi},
title   = {An Energy Related Paper},
journal = {The Journal of Energy},
year    = {2015},
Volume  = {25},
}

@book{Torabi2014,
author    = {F. Torabi and Sh. Haghi and A. Javaheri},
title     = {Introduction to C++ Programming},
publisher = {K.N. Toosi University Publisher},
year      = {2014},
}

@article{article,
  author  = {P. Adams}, 
  title   = {The title of the work},
  journal = {The name of the journal},
  year    = {1993},
  number  = {2},
  pages   = {201-213},
  month   = {7},
  note    = {An optional note}, 
  volume  = {4}
}

@article{Ghayesh2017,
author  = {M.H. Ghayesh and H. Farokhi and A. Gholipour and S. Hussain},
title   = {On the nonlinear mechanics of layered microcantilevers},
journal = {International Journal of Engineering Science},
volume  = {120},
number  = {},
pages   = {1 - 14},
year    = {2017},
}
پاسخ داده شده 3 روز قبل توسط حسین رهنما (119 امتیاز)
انتخاب شده 3 روز قبل توسط حسین رهنما
اساسا این اسکریپتی که شما ساخته‌اید نباید هیچ گونه رفرنسی برای شما تولید کند زیرا که به چهار پارامتر نیاز دارد و شما تنها سه پارامتر به آن ارسال می‌دارید. برای اینکه مشکلتان حل شود قبل از گزینه اول در آرگومان‌ها یعنی $syntexoption آرگومان --shell-escape را وارد نمایید.
@سیدجواد: در حال حاضر این اسکریپ کار می کنه. اما وقتی استایل ارجاعات رو عوض می کنم با بعضی هاش کار نمی کنه. جالبه اگه آرگومان 4 ام رو حذف کنم از کار می افته! شما کد رو امتحان کردید؟ آیا پاسخ خودتون رو امتحان کردید؟ من با پاسخ شما چیزی به دست نیاوردم.
@حسین راهنما در خصوص عدم نمایش نام نویسنده که فرمودید در انتهای پاسخم ویرایش جدید خدمتتون گذاشتم. درود
توضیح خیلی روشن بود شما ۳ آرگومان به اسکریپت ارسال می‌کنید در حالیکه ۴ تا لازم دارد و در توضیحات هم اشاره شد که آرگومان را چهارم را چه و در کجا قرار دهید.

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

این امکان (اجرا کردن چند برنامه پشت سر هم) در TeXWorks وجود ندارد. برای اینکه بتونی چند تا برنامه رو پشت سر هم اجرا کنی باید یک script بنویسی و توی TeXworks این script رو اجرا کنی. به عنوان نمونه، latexmk یک perl script هستش .

پاسخ داده شده 5 روز قبل توسط وفا (20,047 امتیاز)
+1 رای

سلام
با تشکر از جناب خلیقی عزیز بابت پیشنهادشون و جناب رضویان عزیز بابت روش پیشنهادی
من به روش زیر رفتم و جواب گرفتم:
اول فایل زیر رو با پسوند bat. تشکیل بدید و در مسیر نصب تکلایو 2017 و در پوشه ی
bin/win32 قرار بدید:

pdflatex.exe %1 %2 %3
bibtex.exe %1
makeindex.exe %1
pdflatex.exe %1 %2 %3
pdflatex.exe %1 %2 %3

سپس مطابق تصویر زیر تنظیمات تک ورکس رو تنظیم کنید:در این مرحله خیلی دقت کنید چون یک فاضله ی اضافی هم ممکنه باعث عملکرد نادرست آن شود
enter image description here

اینم تغییرات در ویرایشگر شما:
enter image description here
سپس با این کامپایلر ترکیبی فایلتون رو پردازش کنید. چند نمونه از خروجی ها رو میزارم.

استایل unsrt:
enter image description here
استایل plain:
enter image description here
استایل chicago:

enter image description here
و اینم استایل ieeetr با کلاس IEEEtran:
enter image description here

ویرایش جدید در خصوص عدم نمایش نام نویسنده:
این مشکل به این کامپایلر بر نمی گرده. اگر همین فایلتون رو با ویرایشگرهای دیگه مثل تک استودیو و یا بای دای تک میکر در چهار مرحله هم ویرایش کنید باز هم خروجی برای نام نویسنده مشکل دارد. اما اگه کدتون رو با استایل chicago و یا plainnat ویرایش کنید این مشکل و ندارید.
اگر استاد امین طوسی این پیج رو ببینه و بتونه دلیلش رو خدمتتون بفرمایند که عالی میشه چون ایشون در این زمینه کار کردن.
این فایلتون با تغییرات جدید در کلاس IEEEtran :
در چند حالت مختلف ارجاع رو تست کردم

\documentclass{IEEEtran}
\usepackage[colorlinks=true,citecolor=blue]{hyperref}
\usepackage[english]{babel}
\usepackage[numbers]{natbib}
\begin{document}
\citet{Erdos65}
Using BibTeX is very easy! What you need is just citing as usual for articles like
 \citet*{Ghayesh2017} or for books \citealp{Torabi2014}, \citep{article}.and
\citep[e.g.][p.~99]{article} and \citeyear{article}
It should be noted that the style selected for \verb!\bibliographystyle! should match the \verb!numbers! or 
\verb!authoryear! option for \verb!natbib! package.
When changing the bibliography style, sometimes \verb!natbib! won't work because it can't interpret the data correctly.
Usually, this error is generated ``Package natbib Error: Bibliography not compatible with author-year citations''.

If you change the argument of \verb!\bibliographystyle! then a run of pdfLaTeX and one of BibTeX and two of pdfLaTeX are necessary to synchronize the references and citations. Removing the .bbl and .aux files before those runs is recommended, in order to avoid spurious 
error messages that might corrupt the .aux file currently being generated.

\bibliographystyle{chicago}
\bibliography{Refs}

\end{document}

اینم فایل bib:

@article{Erdos65,
AUTHOR = {Rafael Gonzalez and Richard Woods},
TITLE = {Digital Image Processing},
PUBLISHER = {Prentice-Hall, Inc.},
YEAR = {2006},
EDITION = {3rd},
ADDRESS = {Upper Saddle River, NJ, USA}
}

@book{Torabi2014,
author    = {F. Torabi and Sh. Haghi and A. Javaheri},
title     = {Introduction to C++ Programming},
publisher = {K.N. Toosi University Publisher},
year      = {2014},
}

@book{article,
  author  = {P. Adams}, 
  title   = {The title of the work},
  journal = {The name of the journal},
  year    = {1993},
  number  = {2},
  pages   = {201-213},
  month   = {7},
  note    = {An optional note}, 
  volume  = {4}
}

@book{Ghayesh2017,
author  = {M.H. Ghayesh and H. Farokhi and A. Gholipour and S. Hussain},
title   = {On the nonlinear mechanics of layered microcantilevers},
journal = {International Journal of Engineering Science},
volume  = {120},
number  = {},
pages   = {1 - 14},
year    = {2017},
}

و در نهایت اینم خروجیتون با نام نویسنده:
enter image description here

موفق باشید. مددپور

پاسخ داده شده 3 روز قبل توسط محمد حسین (24 امتیاز)
ویرایش شده 3 روز قبل توسط محمد حسین
ممنون از توجهتون. توی متن، ارجاعاتتون مشکلی نداشت؟ مثلا وقتی با ieeetr می زنم، اسم نویسنده هارو نمی زنه. من از TexLive 2017 استفاده می کنم.
ممنون از ویرایش جدید. دلیلش رو متوجه شدم. برخی استایل ها با دستور /citet* و مثل این سازگاری ندارن.
@حسین راهنما درود. به همین دلیل چند روش رو نوشتم. خدا رو شکر که مشکل حل شد.
0 رای

خوب همانطوری که در لینکی که خودتان هم ارسال داشته‌اید اشاره شده است تنها راهش این است که شما یک اسکریپت برای خودتان ایجاد نمایید و تمامی دستورات مورد نظر را در آن ذخیر ه نمایید و سپس در همان نقطه‌ای که نشان داده‌اید آن را لود نمایید.

البته بسته به اینکه روی ویندوز یا لینوکس/مک هستید داستان کمی متفاوت خواهد شد.

روی ویندوز باید یک .bat فایل ایجاد نمایید و روی لینوکس/مک یک ‍ shell script‍

لینکی که ارسال نموده‌اید فرض کرده‌ است که در ویندوز هستید.

برای مثال در ویندوز فایلی با نام mytexify.bat ایجاد نمایید و کد‌های زیر را در آن کپی نمایید:

pdflatex.exe %1
bibtex.exe %1
makeindex.exe %1
pdflatex.exe %1
pdflatex.exe %1

سپس این فایل را در یکی از مسیرهایی که تک‌ورکس می‌شناسد کپی نمایید و یا اینکه مسیری که این افایل در آنجا قرار دارد را به تک‌ورکس بیفزایید.

پس در بخش Name نام دلخواهتان را که می‌خواهید نمایش داده شود بنویسید.
در بخش Program نام همان فایلی که حاوی دستورات است را می‌نویسید در اینجا مثلا mytexify.bat. نهایتا هم در بخش آرگومان‌ها بنویسید $basename.

توجه دارید که اگر آرگومان‌های بیشتری را می‌خواهیدداشته باشید در فایل .bat خود نیز می‌توانید به ترتیب به آن‌ها با %2 و %3 و ... دسترسی داشته باشید.

پی‌نوشت: در توضیحات فوق فرض شده است که برنامه‌ای pdflatex و ... در مسیر سیستم قرار دارند لکن اگر چنین نیستند بهتر است در آن فایل مسیر کامل آن‌ها را قرار دهید.

پاسخ داده شده 5 روز قبل توسط سید جواد (3,501 امتیاز)
سپاس از راهنماییتون، البته من دقیقا بااین کدی که شما نوشتید نتونستم جواب بگیرم. ولی از پاسخ sam در پست استک اکسچنج الگو برداری کردم و مسئله حل شد.
لطفا پاسخ مرا ببینید. نمی دانم چرا با برخی استایل های مراجع نتایج در تک لایو 2017 درست تولید نمی شوند. مثلا با ieeetran امتحان کنید.
...