پارسی‌لاتک

لاتک LATEX => عمومی => نويسنده: محمد چهارسوقی در سپتامبر 30, 2009, 02:56:16 بعد از ظهر

عنوان: فعال و یا غیر فعال کردن یک متن
رسال شده توسط: محمد چهارسوقی در سپتامبر 30, 2009, 02:56:16 بعد از ظهر
با عرض سلام به همه دوستان

ابتدا از اینکه این موضوع رو در اینجا ایجاد کردم باید بگم مطمئن نبودم که در چه زیر شاخه ای باشه بنابراین اینجا رو انتخاب کردم. اگر مدیران و دوستان
صلاحدید دیگری دارند بفرمایند که من متن رو به اونجا منتقل کنم.

بگذریم. یه سوال عجیب دارم. آیا میشه وقتی که داریم با تک کار می کنیم با روشی و یا دستوری باعث بشیم جاهایی از متن که در فایل tex نوشتیم در خروجی PDF ظاهر شود و یا نشود؟

مثال می‌زنم: مثلاً متن «این یک متن است» را من در فایل tex حالا به هر شکلی (نمادی در اطراف، قرار دادن در جدول، لیبل گذاری و .....) بنویسم. بعد هنگام اجرای برنامه مثلا از یک دستوری استفاده کنم که مشخص کند آیا این متن در خروجی همان جایی که هست ظاهر شود یا نه.

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

یه مثال دیگه: همونطور که می‌دونید، مثلا در اول متن شما می تونید دستور زیر رو بنویسید
\title{عبارت عنوان}
در این صورت اگر در بدنه‌ی متن از دستور
\maketitle
استفاده کنید، عنوان نشان داده می شه و اگه نکنید نمیشه.

شاید این هم یک ایده‌ای باشه برای انجام این کار. البته من نمی دونم این کار را میشه برای حجم زیادی از متن و مثلا فرمول هم استفاده کرد یا نه.

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

من الان برای هر کدوم فایل‌های جدا گانه دارم. این کار خیلی خوب و منظم نیست و پیوسته هم نیست. می‌خواستم به این طریق من یک دونه فایل داشته باشم که همه چیمو در مورد اون کتاب مورد نظری که می خونم همون تو بنویسم و همه به ترتیب و پشت سر هم بر اساس فصل‌ها و اینها باشه. و وقتی که دارم خروجی می‌گیرم، تعیین کنم که من فقط مثلاً تعاریف و می‌خوام و یا روابط و می‌خوام و یا همه اش رو می‌خوام و یا سوالاتی که از خودم پرسیدم رو می‌خوام.

ممنونم!!!!!!!!!!
عنوان: پاسخ : فعال و یا غیر فعال کردن یک متن
رسال شده توسط: مهدی امیدعلی در سپتامبر 30, 2009, 04:23:09 بعد از ظهر
منظورت به حالت توضیح درآوردنه؟ این کار رو با گذاشتن یک علامت ٪ در ابتدای خط انجام بده. در بعضی از ویرایشگرها می‌شه یک قسمت از متن رو انتخاب کرد و بعد همه قسمت رو به حالت توضیح درآورد.
عنوان: پاسخ : فعال و یا غیر فعال کردن یک متن
رسال شده توسط: محمد چهارسوقی در سپتامبر 30, 2009, 05:09:04 بعد از ظهر
سلام

نه منظورم این نیست.

شما فرض کنید که دارید خلاصه یک کتاب رو تایپ می‌کنید. بعد براتون یکسری سوال‌هایی پیش میاد. اون سوال ها رو همونجا در متن
وارد می کنید و می‌نویسید. وقتی اجرا کنید و خروج PDF بگیرید سوالاتتون هم هست. (طبیعی هست چون اونها رو در فایل تک نوشتید).

حال فرض کنید با یک دستور ساده بخواهید کاری کنید که سوالاتی که خودتون برای خودتون نوشتید دیگه نمایش داده نشوند. اگر از ٪ استفاده
کنیم باید بریم تموم متن رو بگردیم و هر دفعه اونها رو برداریم و دوباره بگذاریم که خیلی وقت گیر است.

با اجازتون من این پست رو در گروه هم مطرح می کنم چون مثل اینکه فعلا بچه ها اونجا بیشتر سر می زنن.

ممنونم
عنوان: پاسخ : فعال و یا غیر فعال کردن یک متن
رسال شده توسط: محمد چهارسوقی در سپتامبر 30, 2009, 06:49:23 بعد از ظهر
سلام بالاخره با کمک دوستان جواب سوالم رو پیدا کردم

شاید بشه معادل انگلیسی این چیزی که دنبالش بودم رو conditional compilation گذاشت. شاید.

به هر حال دو راه برای این پیدا کردم که این دو راه رو اینجا براتون می‌گم (راه دوم که پیشنهاد آقا وفا بود بهتر به نظر می رسه - فایل‌های ایشون ضمیمه شده).

راه اول:
استفاده از پکیج ifthen به صورت زیر

\usepackage{ifthen}
\newboolean{yourBoolVar}
\setboolean{yourBoolVar}{boolval} % boolvar=true or false

در این صورت در متن باید عبارت زیر را بنویسید و در آکولادها اون چیزهایی که می خواهید و یا نمی خواهید را بنویسید.

\ifthenelse {\boolean{yourBoolVar}}
{if true, go this code} {if false, go this}

و اما روش دوم:
این روش نیازی به استفاده از هیچ پکیجی نداره به صورت ساده زیر است:

قبل از شروع متن از عبارت‌های زیر استفاده می‌کنیم
‎\newif\ifproofmode‎
‎\proofmodetrue‎

سپس در متن به صورت زیر عمل می کنیم
\ifproofmode
your desired text or ......
\fi

اگر قبل از متن از دستور \proofmodefalse استفاده می‌کردیم اون نوشته مورد نظر دیگه دیده نمیشد.

ممنون
عنوان: پاسخ : فعال و یا غیر فعال کردن یک متن
رسال شده توسط: محمد چهارسوقی در سپتامبر 30, 2009, 06:50:17 بعد از ظهر
فایل‌هایی که آقا وفا زحمت کشیدن

عنوان: پاسخ : فعال و یا غیر فعال کردن یک متن
رسال شده توسط: habib_seif در نوامبر 12, 2009, 10:47:12 بعد از ظهر
یک روش هم من برای این کار بلدم...


\usepackage{comment}
....
\begin{comment}
....
\end{comment}

امیدوارم مفید باشه