لاتک/وارد کردن کد در متن با بسته listings: تفاوت میان نسخهها
محتوای حذفشده محتوای افزودهشده
رده:لاتکس حذف شد با استفاده از ردهساز |
حذف زماندار |
||
خط ۱:
{{جا:حذف زماندار|معیار}}
{{حق تکثیر مشکوک}}
در این نوشتار قصد داریم تا در مورد نحوه وارد کردن کد در متن توسط بسته listings صحبت کنیم.
== اهداف و مزایا ==
فرض کنید که شما یک برنامه به زبانی مانند C، JAVA، MATLAB و ... نوشته
== خوش آمدید ==
[[File:Carl Spitzweg 021-detail.jpg|thumb|left|180px|خوشآمدید!]]
<br/>
سلام {{PAGENAME}}، به ویکیکتاب خوش آمدید. از مشارکت شما سپاسگزارم. امیدوارم که از اینجا خوشتان بیاید و تصمیم به ماندن بگیرید. راهنماهای ویکیکتاب در [[راهنما:فهرست|اینجا]] است اما پیوندهای زیر برای کاربرهای جدید مفیدند:
{|
|-
|[[پرونده:Noia 64 apps help index.png|30px|right|link=ویکیکتاب:ویکیکتاب چیست؟|ویکینسک (ویکیکتاب) چیست؟]] || [[ویکیکتاب:ویکیکتاب چیست؟|ویکینسک (ویکیکتاب) چیست؟]]
|-
| [[پرونده:Nuvola apps ksig.png|30px|right|link=ویکیکتاب:آموزش سریع|آموزش سریع]] || [[ویکیکتاب:آموزش سریع|آموزش سریع]] آموزش کار با زبان مدیاویکی (محیط ویکینسک)
|-
|[[پرونده:Farsi.svg|30px|right|link=ویکیکتاب:فارسینویسی|فارسینویسی]]||[[ویکیکتاب:فارسینویسی|فارسینویسی]] چگونه با حروف فارسی بنویسیم؟
|-
| [[پرونده:Nuvola apps chat.png|30px|right|link=ویکیکتاب:میز تحریر|میز تحریر]]||[[ویکیکتاب:میز تحریر]] برای گفتگو دربارهٔ مسائل فنی و سیاستها.
|-
| ||[[راهنما:ویرایش|ویرایش]] مقدمهای بر ویرایش در ویکینسک
|-
|[[File:Bucket in the sand.svg|right|50px|link=ویکیکتاب:صفحه تمرین|صفحه تمرین]]||[[ویکیکتاب:صفحه تمرین|صفحه تمرین]] برای تمرین ویرایش
|-
|[[پرونده:Nuvola apps agent.svg|30px|right|link=w:ویکیکتاب:خودآموز|آموزش پیشرفته]]||[[w:ویکیپدیا:خودآموز|آموزش پیشرفته]]
|-
|'''پروژههای دیگر بنیاد'''||[[پرونده:Wikipedia-logo.png|25px|link=w:صفحه_اصلی|ویکیپدیا]][[پرونده:HSWikimedia.svg|30px|link=m:Special:Recentchanges|فراویکی]] [[پرونده:HSCommons.svg|30px|link=commons:Special:Recentchanges|ویکیانبار]][[پرونده:HSWNews.svg|30px|link=n:ویژه:تغییرات اخیر|ویکیخبر]] [[پرونده:HSWtionary.svg|30px|link=wikt:صفحه_اصلی|ویکیواژه]] [[پرونده:HSWQuote.svg|30px|link=q:صفحه_اصلی|ویکیگفتاورد]][[پرونده:HSWSource.svg|30px|link=s:صفحه_اصلی|ویکینبشته]]
[[پرونده:Wikidata-logo.svg|30px|link=wikidata:صفحه_اصلی|ویکیداده]]
|}
امیدوارم از ''[[ویکینسک:ویکینسکنویسان|ویکینسکنویس]]'' بودن لذت ببرید! لطفاً برای آزمایش از [[ویکیکتاب:گودال ماسهبازی]] استفاده کنید. باز هم خوش آمد میگویم.[[ویژه:مشارکتها/5.160.235.155|5.160.235.155]] ۲۸ مارس ۲۰۱۵، ساعت ۱۵:۱۳ (UTC)
== وارد کردن بسته listings ==
در شروع کار بسته listings را با دستور usepackage فراخوانی کنید. دقت کنید که این بسته را با بسته listing اشتباه نکنید. البته در این مورد
# اگر در حال نوشتن یک متن فارسی با استفاده از بسته xepersian هستید، دقت کنید که بسته xepersian
# بسته hyperref جزو آخرین بسته هایی باید باشد که فراخوانی می شود. این قانون هم کلی است.
# بسته listings قبل از دو بسته یاد شده باید وارد شود.
# به صورت پیش فرض کدهای وارد شده توسط بسته listings به صورت سیاه و سفید وارد متن می شوند. اگر میخواهید کدهای شما در متن به صورت رنگی باشد،
پس خواهیم داشت.
<source lang="latex">
سطر ۱۸ ⟵ ۴۸:
== وارد کردن کد در متن ==
فرض کنید که یک کد MATLAB در فایلی به نام myFun.m نوشته
# وارد کردن فایل کد
# وارد کردن کد به صورت خام
سطر ۳۶ ⟵ ۶۶:
\end{latin}
</source>
* تنظیمات بسته listings را میتوانید در زمان فراخوانی lstinputlisting وارد کنید. برای مثال در این جا من فقط از تنظیم تعیین زبان (language) استفاده کردم، و آن را بر روی زبان Matlab قرار دادم. این option به
* اگر می خواهید کد در داخل یک متن فارسی وارد کنید،
* در صورتی که می خواهید کد را در یک متن انگلیسی وارد کنید باید خطوط \begin{latin} و \end{latin} را حذف کنید.
* دقت کنید که به همراه اسم فایل، پسوند فایل را نیز وارد کنید.
سطر ۷۳ ⟵ ۱۰۳:
* کد خالص در محیطی به نام lstlisting وارد میشود. یعنی کد شما باید بین \begin{lstlisting} و \end{lstlisting} قرار گیرد.
* به مانند حالت قبل، اگر میخواهید کد را در متن فارسی وارد کنید
* تنظیمات بسته listings در این روش به دو صورت انجام م شود
# توسط دستور lstset. این دستور را باید قبل از محیط lstlisting وارد کنید. برای مثال ذکر شده خواهیم داشت.
سطر ۸۷ ⟵ ۱۱۷:
</source>
: شما می توانید دستور
# به عنوان تنظیمات محیط lstlisting در داخل [] بعد از \begin{lstlisting}.
سطر ۹۳ ⟵ ۱۲۳:
== تنظیمات ==
=== نحوه وارد کردن تنظیمات ===
* استفاده از دستور lstset.
* وارد کردن به عنوان آرگومان دستورات وارد کردن کد.
سطر ۱۳۶ ⟵ ۱۶۶:
=== مهمترین تنظیمات ===
بسته
* language: زبانی برنامهای که میخواهید وارد کنید. لیست کاملی از زبانهای برنامه نویسی که
{{چپچین}}
http://en.wikibooks.org/wiki/LaTeX/Source_Code_Listings
سطر ۱۵۱ ⟵ ۱۸۱:
* numbers: که میتواند یکی از مقادیر none و left و right را به خود بگیرد. در صورتی که مقادیر left یا right را انتخاب کنید، خطوط برنامه شماره گذاری میشود و شماره ها در سمت چپ یا راست خواهد آمد.
* numbersep: تعیین فاصله افقی شماره ها از کد
* numberstyle: تعیین استایل شماره ها.
* stepnumber: برای مثال اگر مقدار stepnumber=2 باشد، آنگاه یک خط در میان شماره گذاری انجام میشود.
* lineskip: فاصله خطوط به مقدار lineskip از یکدیگر افزایش خواهد یافت.
سطر ۱۵۹ ⟵ ۱۸۹:
* showspaces: فاصله ها (space) در کد را با کاراکتری معین، تعیین می کند. مقدار این تنظیم می تواند true یا false باشد.
* showtabs: tap ها را در متن مشخص می کند. مقدار این تنظیم می تواند true یا false باشد.
* morekeywords: در هر زبان برنامه نویسی یکسری از واژه ها به عنوان keywordstyle آن زبان محسوب می شود. در بسته listings، morekeywords استاندارد هر زبان قرار داده شده است. شما می توانید به دلخواه خود یکسری keyword جدید به
* deletekeywords: کلمهای که در این تنظیم مشخص می کنید از بین کلمات کلیدی زبان انتخاب شده حذف می شود. به عنوان مثال اگر شما زبان MATLAB را انتخاب کرده باشید، و deletekeywords={clear} باشد، آنگاه کلمه کلیدی clear از بین کلمات کلیدی MATLAB در وارد کردن کد به صورت موقت حذف می شود.
* frame: اضافه کردن یک کادر بدور کد. این تنظیم می تواند یکی از مقادیر none|leftline|topline|bottomline|lines|single|shadowbox را داشته باشد. بسته Listings تنظیمات زیادی برای تنظیم کادر دور محیط کد فراهم آورده است که با مراجعه به راهنمای آن می توانید از آن ها استفاده کنید.
سطر ۱۶۵ ⟵ ۱۹۵:
== برخی نکات ==
=== وارد کردن روابط ریاضی در کد ===
فرض کنید که می خواهید در قسمت کامنت کدی که در متن وارد کرده
$\alpha + d_{i}$
در متن ظاهر شود. برای این کار کافی است که تنظیم texcl یا mathescape را فعال کنید.
سطر ۱۸۰ ⟵ ۲۱۰:
[[رده:لاتک]]
:{{شد}} [[ویژه:مشارکتها/5.160.235.155|5.160.235.155]] ۲۸ مارس ۲۰۱۵، ساعت ۱۵:۱۳ (UTC)
:{{شد}} [[ویژه:مشارکتها/5.160.235.155|5.160.235.155]] ۲۸ مارس ۲۰۱۵، ساعت ۱۵:۱۳ (UTC)
|