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

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

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

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

0 رای
1,569 بازدید

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

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

edit-preferences-typesetting

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

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

enter image description here

سوال شده دی 22, 1396 توسط حسین رهنما (146 امتیاز)
ویرایش شده بهمن 4, 1396 توسط حسین رهنما

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},
}
پاسخ داده شده دی 24, 1396 توسط حسین رهنما (146 امتیاز)
انتخاب شده دی 25, 1396 توسط حسین رهنما
اساسا این اسکریپتی که شما ساخته‌اید نباید هیچ گونه رفرنسی برای شما تولید کند زیرا که به چهار پارامتر نیاز دارد و شما تنها سه پارامتر به آن ارسال می‌دارید. برای اینکه مشکلتان حل شود قبل از گزینه اول در آرگومان‌ها یعنی $syntexoption آرگومان --shell-escape را وارد نمایید.
@سیدجواد: در حال حاضر این اسکریپ کار می کنه. اما وقتی استایل ارجاعات رو عوض می کنم با بعضی هاش کار نمی کنه. جالبه اگه آرگومان 4 ام رو حذف کنم از کار می افته! شما کد رو امتحان کردید؟ آیا پاسخ خودتون رو امتحان کردید؟ من با پاسخ شما چیزی به دست نیاوردم.
@حسین راهنما در خصوص عدم نمایش نام نویسنده که فرمودید در انتهای پاسخم ویرایش جدید خدمتتون گذاشتم. درود
توضیح خیلی روشن بود شما ۳ آرگومان به اسکریپت ارسال می‌کنید در حالیکه ۴ تا لازم دارد و در توضیحات هم اشاره شد که آرگومان را چهارم را چه و در کجا قرار دهید.

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

سلام
با تشکر از جناب خلیقی عزیز بابت پیشنهادشون و جناب رضویان عزیز بابت روش پیشنهادی
من به روش زیر رفتم و جواب گرفتم:
اول فایل زیر رو با پسوند 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

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

پاسخ داده شده دی 25, 1396 توسط شاپور مددپور (8,647 امتیاز)
ویرایش شده دی 25, 1396 توسط شاپور مددپور
ممنون از توجهتون. توی متن، ارجاعاتتون مشکلی نداشت؟ مثلا وقتی با ieeetr می زنم، اسم نویسنده هارو نمی زنه. من از TexLive 2017 استفاده می کنم.
ممنون از ویرایش جدید. دلیلش رو متوجه شدم. برخی استایل ها با دستور /citet* و مثل این سازگاری ندارن.
@حسین راهنما درود. به همین دلیل چند روش رو نوشتم. خدا رو شکر که مشکل حل شد.
+1 رای

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

پاسخ داده شده دی 23, 1396 توسط وفا (24,380 امتیاز)
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 و ... در مسیر سیستم قرار دارند لکن اگر چنین نیستند بهتر است در آن فایل مسیر کامل آن‌ها را قرار دهید.

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