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

#1 2017-04-16 19:58:19

LinArcX
عضو
ثبت شده: 2015-09-18
ارسال ها: 729
وب سایت

نکات،آموزش ها و ترفندهای LaTeX

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

آخرین ویرایش توسط LinArcX (2017-04-16 20:23:10)


"Enough!!!Don't Use "DEFAULTS" Any More..."make it simple stupid

آفلاین

#2 2017-04-16 20:08:03

LinArcX
عضو
ثبت شده: 2015-09-18
ارسال ها: 729
وب سایت

پاسخ: نکات،آموزش ها و ترفندهای LaTeX

خب اولین پست این بخشو خودم میذارم.دیدین تو بعضی کتابا، نکته های مهم یا فرمول ها یا نقل قول ها رو توی باکس های خیلی شیک و ترو تمیزی میذارن؟
به شخصه هیچ موقع واسم پیش نیومد وقتی دارم با آفیس مایکروسافت یا Libre کار کنم به ذهنم برسه از اون شکل ها درست کنم.(اصلا نمیدونم هم چین قابلیتی توی آفیس های دیگه بدین شکلِ برنامه نویسی شده هست یا نه!)
بگذریم...
tcolorbox، یکی از بسته های مهم و پرکاربرد برای رفع این نیاز به خصوص هست.کلا هر جایی نیاز داشتین یه باکسی داشته باشید که یه هدر داشته باشه و رنگ و لعابی بهش بدین میتونید ازش استفاده کنید.خوب منم از یه سمپل که تو نت بود استفاده کردم و یکمی بومیش کردم(راست چینش کردم.)و نتیجه هم چین چیزی شد:
tkrq_cropmarker.png
اینم کدش:

\documentclass{article}

\usepackage[most]{tcolorbox}

\usepackage{xepersian}
\settextfont{IRNazanin}


\newtcolorbox{saeedmarker}[1][]{enhanced,
	before skip=2mm,after skip=3mm,
	boxrule=0.4pt,left=5mm,right=2mm,top=1mm,bottom=1mm,
	colback=yellow!50,
	colframe=yellow!20!black,
	sharp corners,rounded corners=southwest,arc is angular,arc=3mm,
	underlay={%
		\path[fill=tcbcol@back!80!black] ([yshift=3mm]interior.south west)--++(+0.4,-0.1)--++(-0.1,-0.2);
		\path[draw=tcbcol@frame,shorten <=-0.05mm,shorten >=-0.05mm] ([yshift=3mm]interior.south west)--++(+0.4,-0.1)--++(-0.1,-0.2);
		\path[fill=yellow!50!black,draw=none] (interior.north east) rectangle node[white]{\Huge\bfseries !} ([xshift=4mm,yshift=0.2mm]interior.south east);
		\path[draw=tcbcol@frame] (interior.north east) rectangle node[white]{\Huge\bfseries !} ([xshift=4mm,yshift=0.2mm]interior.south east);
	},
	drop fuzzy shadow southwest,#1}

\begin{document}
	
	\begin{saeedmarker}
		شاهنامه شرح احوال، پیروزیها، شکستها، ناکامیها و دلاوریهای ایرانیان از کهنترین دوران (نخستین پادشاه جهان کیومرث) تا سرنگونی دولت ساسانی به دست تازیان است (در سده هفتم میلادی). کشمکشهای خارجی ایرانیان با هندیان در شرق، تورانیان در شرق و شمال شرقی، رومیان در غرب و شمال غربی و تازیان در جنوب غربی است. علاوه بر سیر خطی تاریخی ماجرا، در شاهنامه داستانهای مستقل پراکندهای نیز وجود دارند
		
	\end{saeedmarker}
\end{document}

آخرین ویرایش توسط LinArcX (2017-04-16 20:12:44)


"Enough!!!Don't Use "DEFAULTS" Any More..."make it simple stupid

آفلاین

#3 2017-04-16 20:42:34

Arcush
Moderator
ثبت شده: 2015-09-15
ارسال ها: 1,281

پاسخ: نکات،آموزش ها و ترفندهای LaTeX

وای LaTeX. من بیش از ده سال هست که ازین موهبت ارزشمند استفاده می کنم برای حروفچینی مستندات کامپیوتریم. گذشته ازینکه ایجاد این پروژه، خودْ داستان زیبائی داره حاضرم شرط ببندم که اگر کسی نوشتن توی LaTeX رو یاد بگیره، دیگه نمیتونید متقاعدش کنید که به مجموعه های آفیس (اعمّ از هر آفیسی) برگرده. بسیار خوشحالم که این تاپیک رو ایجاد کردید. من قبلا این رو هم ایجاد کرده بودم که میذارمش توی تاپیک شما:
http://bbs.archusers.ir/viewtopic.php?id=585
این هم اولین ترفند من (که با کلیک روی ارجاع داخلی ایجاد شده، میتونید ویدئوئی رُ که در آدرس اشاره شده - در اینجا دایرکتوری جاری حاوی فایل تک- هست پخش کنید) تقدیم به تمام دوستانی که دارن از LaTeX استفاده می کنن:

\documentclass{article}
\usepackage{hyperref}
\usepackage{multimedia}
\begin{document}
\href{run:./animation.mp4}{Click to play with your default player}
\end{document}

آنلاین

#4 2017-04-16 21:18:47

LinArcX
عضو
ثبت شده: 2015-09-18
ارسال ها: 729
وب سایت

پاسخ: نکات،آموزش ها و ترفندهای LaTeX

باهات موافقم عیسی جان.این ابزار فوق العاده ست.همینجوری دارم توی داکیومنت هاش چرخ میزنم و از قدرتش حظّ می برم.
اگه نیاز داشتید توی مقاله تون، کدهایی به زبان های مختلف رو(به همراه شماره خط کد، رنگ بندی و ...) درج کنید،تکه کد زیر رو به بخش preamble سندتون اضافه کنید:

%%%%%%%%%%  Code Listing  %%%%%%%%%%
\usepackage{listings}
\usepackage{color}

\definecolor{codegreen}{rgb}{0,0.6,0}
\definecolor{codegray}{rgb}{0.5,0.5,0.5}
\definecolor{codepurple}{rgb}{0.58,0,0.82}
\definecolor{backcolour}{rgb}{0.95,0.95,0.92}

\lstdefinestyle{mystyle}{
	backgroundcolor=\color{backcolour},   
	commentstyle=\color{codegreen},
	keywordstyle=\color{magenta},
	numberstyle=\tiny\color{codegray},
	stringstyle=\color{codepurple},
	basicstyle=\footnotesize,
	breakatwhitespace=false,         
	breaklines=true,                 
	captionpos=b,                    
	keepspaces=true,                 
	numbers=left,                    
	numbersep=5pt,                  
	showspaces=false,                
	showstringspaces=false,
	showtabs=false,                  
	tabsize=2
}
\lstset{style=mystyle}
%%%%%%%%%%  %Code Listing  %%%%%%%%%%

و اینجوری ازش استفاده کنید:

\begin{latin}
					\begin{lstlisting}[language=Java, caption=Final method]
public class A {
	final void LasVegas(){}
	}

public class B extends A {
	final void LasVegas()  // illegal
	{
	}
}
					\end{lstlisting}
				\end{latin}

علاوه بر اینکه تمام اون تنظیمات بخش بالایی قابل کاستومایز شدن هستن میتونین زبان تون رو هم به زبان دلخواه دیگه ای تغییر بدین.برای دیدن مثال های بیشتر و لیست زبان هایی که توسط این دستور پشتیبانی میشن اینجا رو ببنید.
zk2_saeeed.png

آخرین ویرایش توسط LinArcX (2017-04-16 21:24:39)


"Enough!!!Don't Use "DEFAULTS" Any More..."make it simple stupid

آفلاین

#5 2017-04-16 21:38:45

Arcush
Moderator
ثبت شده: 2015-09-15
ارسال ها: 1,281

پاسخ: نکات،آموزش ها و ترفندهای LaTeX

خیلی خوبه سعیدجان. واقعا امیدوارم دوستان ملحق بشن. همین فرمون رو برو جلو. محمد هم مطمئن ام که میپیونده. این بسته ها قدرت های زیادی دارن. دررابطه با الگوریتم، من ترجیح میدم که از بسته دیگری به این شکل استفاده کنم (که اتفاقا امروز داشتم مینوشتم).

\documentclass[10pt,a4paper]{article}
\usepackage[ruled,vlined]{algorithm2e}
\begin{document}


\begin{algorithm}[H]
	\SetAlgoLined

	\For{each step \(i\)}{
	Calculate the coefficients regarding the number of available data points; \\
	Calculate the point \(p_{i+1}^{1}\) using Adams-Bashforth method as initial guess for \(p_{i+1}\); \\
	\For{each iteration \(j\) while not converged}{Calculate the \(f(p_{i+1}^{j})\); \\
	Calculate the point $p_{i+1}^{j+1}$ using Adams-Bashforth method as next guess for \(p_{i+1}\); \\
	Set \(p_{i+1} := p_{i+1}^{j+1}\);}				
						}
	\caption{Adams-Moulton algorithm}
	
\end{algorithm}

\end{document}

7xlb_screenshot_at_2017-04-16_17-01-21_thumb.png

پ.ن: راستی لطفا به اینجا هم نگاهی بیفکن:
http://wiki.archusers.ir/index.php/Context_Parsi
مخصوصا به پروژه فعلا کوچک دبیر.

آنلاین

#6 2017-04-16 21:47:08

atilaa
عضو
ثبت شده: 2016-09-10
ارسال ها: 21

پاسخ: نکات،آموزش ها و ترفندهای LaTeX

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

آفلاین

#7 2017-04-16 21:56:09

Arcush
Moderator
ثبت شده: 2015-09-15
ارسال ها: 1,281

پاسخ: نکات،آموزش ها و ترفندهای LaTeX

من همیشه ترجیحم اینه که فایل ایزوی TeXLive رو دانلود کنم و براحتی روی سیستمم نصبش کنم. یک دیدگاه دیگه اینه که بصورت مینیمال نصب کنید (بسته های texlive-core و texlive-bin و چندتای دیگه). اما دررابطه با نگرش دوم، همواره باید آماده باشید تا اگر بسته ای رو لازم داشتید نصبش کنید. هریک از این روش ها معایب و محاسنی دارن. ولی برای من اولیش همواره بهتر بوده (گرچه برای گرفتن فایل ایزو، نزدیک به ۳ گیگ دانلود نیاز دارید). اگر با روش من موافق نیستید، قطعا دوستان برای روش های دیگه، راهنمائی بهتری خواهند داشت.

https://www.tug.org/texlive/acquire-dvd.html

ویرایش: البته حجم زیادی از این ۳ گیگ رو فایل های manual بسته ها بهمراه فایل های Tex و متعلقات دیگه شون تشکیل میدن.

آخرین ویرایش توسط Arcush (2017-04-16 21:59:47)

آنلاین

#8 2017-04-16 22:15:27

atilaa
عضو
ثبت شده: 2016-09-10
ارسال ها: 21

پاسخ: نکات،آموزش ها و ترفندهای LaTeX

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

آخرین ویرایش توسط atilaa (2017-04-16 22:15:40)

آفلاین

#9 2017-04-16 22:56:32

LinArcX
عضو
ثبت شده: 2015-09-18
ارسال ها: 729
وب سایت

پاسخ: نکات،آموزش ها و ترفندهای LaTeX

خوبیِ حرف هایی که داره زده میشه این هست که ممکنه همیشه روش های به روزتر و هوشمندانه تری کشف بشن.ممنون از تیکه کدِ خوبت عیسی عزیز.
واسه کانتر انداختن روی ردیف های جداول از روش زیر استفاده کردم.ابتدا کد زیر رو به بخش preamble تون بیفزایید:

%%%%% Table Row Counter %%%%%
\usepackage{array}
\usepackage[table]{xcolor}
\newcounter{magicrownumbers}
\newcommand\rownumber{\stepcounter{magicrownumbers}\arabic{magicrownumbers}}
%%%%% %Table Row Counter %%%%%

و جدول تونو اینجوری بسازید:

\begin{latin}
		{\rowcolors{2}{green!80!yellow!50}{green!70!yellow!40}
			\begin{table}[h!]
				\centering
				\begin{tabular}{ || c || m{5cm} | m{5cm} || }
					\hline \rowcolor{lightgray}
					No.	& \begin{center}Abstract Class\end{center}
					& \begin{center}Interface\end{center} \\
					\hline\hline
					\rownumber & Abstract class can have abstract and non-abstract methods. & Interface can have only abstract methods. Since Java 8, it can have default and static methods also. \\
					\hline
					\rownumber & Abstract class doesn't support multiple inheritance.&Interface supports multiple inheritance.\\
					\hline
					\rownumber & Abstract class can have final, non-final, static and non-static variables.&Interface has only static and final variables.\\
					\hline
					\rownumber & Abstract class can provide the implementation of interface.& Interface can't provide the implementation of abstract class.\\
					\hline
					\rownumber &  The \textbf{abstract keyword} is used to declare abstract class.&	The \textbf{interface keyword} is used to declare interface.\\
					\hline
					\rownumber & Example:
					public abstract class Shape{
						public abstract void draw();
					}&
					Example:
					public interface Drawable{ void draw();}\\
					\hline
				\end{tabular}
				\caption{ \lr{Abstract Classes Vs. Interfaces} }
				\label{table:1}
		\end{table}}
	\end{latin}

1fl6_table_thumb.png


"Enough!!!Don't Use "DEFAULTS" Any More..."make it simple stupid

آفلاین

#10 2017-05-05 21:11:38

Arcush
Moderator
ثبت شده: 2015-09-15
ارسال ها: 1,281

پاسخ: نکات،آموزش ها و ترفندهای LaTeX

بسته rotating امکانات لازم برای چرخوندن متن با زاویه دلخواه رو مهیا می کنه. مثلا:

\documentclass{article}
\usepackage{rotating}
\begin{document}

\rotatebox{45}{archusers.ir} %% rotate 45 degrees counterclockwise.

\turnbox{45}{archusers.ir} %% rotate 45 degrees counterclockwise, a macro version.

\end{document}

برای ملاحظه tutorial این بسته (مثل سایر بسته ها)، بزنید.

$ texdoc rotating

آخرین ویرایش توسط Arcush (2017-05-05 22:32:21)

آنلاین

#11 2017-05-06 16:15:57

ehsan_faal
عضو
از : تهران
ثبت شده: 2015-10-02
ارسال ها: 270

پاسخ: نکات،آموزش ها و ترفندهای LaTeX

برای کسانی که مثله خود من تا حالا اصلا امتحان نکرده بودن میگم:
توی سایت مکتب خونه یه آموزش باحالا در مورد LaTeX دیدم امروز که باحالیش اینجاست که مدرسش روی گنو/لینوکس داره درس میده.

لینک :   https://maktabkhooneh.org/course/meshforoush-latex

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

http://cdnmaktab.takhtesefid.org/videos/hq646623268156.mp4?name=hq-meshforoush-latex-1.mp4
http://cdnmaktab.takhtesefid.org/videos/hq47780389686.mp4?name=hq-meshforoush-latex-2.mp4
http://cdnmaktab.takhtesefid.org/videos/hq733702058299.mp4?name=hq-meshforoush-latex-3.mp4
http://cdnmaktab.takhtesefid.org/videos/hq27615019864.mp4?name=hq-meshforoush-latex-4.mp4
http://cdnmaktab.takhtesefid.org/videos/hq000111629875353.mp4?name=hq-meshforoush-latex-5.mp4
http://cdnmaktab.takhtesefid.org/videos/hq236944723788.mp4?name=hq-meshforoush-latex-6.mp4
http://cdnmaktab.takhtesefid.org/videos/hq477671103591.mp4?name=hq-meshforoush-latex-7.mp4
http://cdnmaktab.takhtesefid.org/videos/hq450107850009.mp4?name=hq-meshforoush-latex-8.mp4
http://cdnmaktab.takhtesefid.org/videos/hq901927560189.mp4?name=hq-meshforoush-latex-9.mp4
http://cdnmaktab.takhtesefid.org/videos/hq469742332644.mp4?name=hq-meshforoush-latex-10.mp4
http://cdnmaktab.takhtesefid.org/videos/hq83468642028.mp4?name=hq-meshforoush-latex-11.mp4
http://cdnmaktab.takhtesefid.org/videos/hq599723905817.mp4?name=hq-meshforoush-latex-12.mp4

حتما استفاده کنید.

آخرین ویرایش توسط ehsan_faal (2017-05-07 10:35:11)


Mahatma Gandhi - The weak can never forgive. Forgiveness is the attribute of the strong

آفلاین

#12 2017-05-06 19:21:59

Arcush
Moderator
ثبت شده: 2015-09-15
ارسال ها: 1,281

پاسخ: نکات،آموزش ها و ترفندهای LaTeX

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

\documentclass[10pt,a4paper]{article}
\usepackage{fontspec}
%\defaultfontfeatures{Mapping=tex-text}
%\usepackage{xunicode}
%\usepackage{xltxtra}
\setmainfont{XB Yas}
\usepackage{polyglossia}
\setdefaultlanguage{farsi}
\begin{document}
سلام. 
\end{document}

لینکی که بنده در ارسال #5 دادم، یک محرک برای توسعه بسته دیگری در LuaTeX  هست و قطعا این امیدواری وجود داره که به کمک دوستان علاقه مند بشه توسعه ش داد و برخی از کاستی های اون رو مرتفع کرد. حداقل امیدواریم که خود احسان زودتر به این موضوع علاقه مند بشه. smile

آنلاین

پانوشت انجمن

پشتیبانی توسط تیم آرچ لینوکس ایران و نیرو گرفته با FluxBB