Hebrew LaTeX Template
Author
Yuval Itzhaki
Last Updated
4 mesi fa
License
Creative Commons CC BY 4.0
Abstract
פרוייקט לאטך בעברית
\documentclass{article}
\input{config}
%<*SETUP>
\title{
\textbf{
כותרת המסמך
}
מסמך גנרי}
\author{ }
\date{}
% \lhead{\textenglish{Latex for Mehadrin}}
% \rhead{
% שכוייח
% }
\pagestyle{fancy}% Change page style to fancy
\fancyhf{}% Clear header/footer
\lhead[L]{\texthebrew{שבלונה\\
יחידה \documentNumber (מספר תלוי בשם הקובץ)
}}
\fancyhead[R]{\includegraphics[height=7.5mm]{logo.png}}
\fancyfoot[C]{\thepage}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\begin{document}
\maketitle
\renewcommand{\thefootnote}{\alph{footnote}}
אני מניח שמי שפתח את השבלונה הזאת לא צריך הסברים למה לאטך זה להיט\footnote{
אם צריך אנסה להראות במסמך זה את כל הדברים הנחמדים שאפשר לעשות איתו.
}.
\paragraph{מה אפשר לעשות?}
\begin{enumerate}
\item להשתמש בנוסחאות כמו
$f(x)= 3x$
בתוך הטקסט.
\item
קצת לוקח זמן להתרגל לזה.
\item
כי צריך להקפיד שהמתמטיקה בשורה נפרדת מהמלל בעברית.
\begin{enumerate}
\item אפשר לבחור לעשות אנומרציה בעברית
\item נחמד לא?
\end{enumerate}
\item תסתכלו גם על השבלונות
\textit{AA00.tex}
ו
\textit{AA00S.tex}.
אפשר לערוך בעזרתם קבצי מטלות ופתרונות בקלות.
\item
לשלב אנגלית עם עברית כמו פה
(\text{Three Two One}),
רק שעדיין לא טרחתי לסדר את הפונטים..
אז אני הופך את הסדר של המילים אם יש יותר ממילה אחת, לרוב אין.
\item ליצור סביבות ממוספרות להגדרות ומשפטים ורפרנסים כמו ל
הגדרה
\ref{def:cooldef}.
\end{enumerate}
אפשר להכניס קישורים לטקסט כמו זה:
\href{https://www.youtube.com/watch?v=YX40hbAHx3s}{\textbf{בחיים אל תלחצו על לינק שאתם לא סומכים עליו}}
\paragraph{מה (עדיין) אי אפשר לעשות?}
\begin{enumerate}
\item להציג מקורות מימין לשמאל \cite{greenwade93}.
% \item להשתמש בסביבות ממוספרות להגדרות ומשפטים.
\item להעביר את הקוד למצגת בקלות \footnote{יש פרוייקט נפרד שמשתמש במהדר אחר...}.
\end{enumerate}
\section{איורים גרפים אלגוריתמים וכו׳}
ניתן לשלב בטקסט הגדרות, משפטים וטענות כגון:
\begin{deinition}
\label{def:cooldef}
גרף הוא זוג סדור
$G=(V,E)$
כש
$E\subseteq V\times V$.
\end{deinition}
ניתן לראות דוגמא לגרף באיור
\ref{fig:G}.
\begin{claim}
\label{thm:coolclaim}
כל הגרפים הם מגניבים.
\end{claim}
\begin{proof}
נניח בשלילה שקיים גרף לא מגניב - כבר אנחנו רואים שההנחה שגויה כי איך גרף יהיה לא מגניב?
\end{proof}
\begin{theorem}
\label{thm:coolthm}
טענה \ref{thm:coolclaim}
משתמשת בהגיון מעגלי.
\end{theorem}
\begin{proof}
העיקר הבנו את הנקודה של הסביבות נכון?
\end{proof}
\begin{theorem}
\label{thm:1}
כל קבוצה של סביבות (משפטים, הגדרות או טענות) ממוספרת בנפרד.
\end{theorem}
\subsection{גרפים וכאלה}
\subsubsection{גרפים וכאלה}
\subsubsection{גרפים וכאלה}
\subsection{גרפים וכאלה}
\begin{figure}[H]
\centering
\begin{tikzpicture}[scale=1.2]
\begin{axis}[
% grid=both,
ticks=none,
xmax=100,ymax=10,
% ymode=log,
yticklabels={,,},
xticklabels={,,},
axis lines=middle,
enlargelimits,
xlabel={input length $n$},
xlabel near ticks,
y label style={at={(-0.1,1.)}},
ylabel={time}
]
\addplot[smooth,black,mark=none,%samples=140,
line width=1.5pt,domain=4:100,
samples=50,
color=violet] {30/x} node[left] {};
\node[] at (104,.75) {\color{violet} $\frac{1}{n}$};
\addplot[smooth,black,mark=none,%samples=140,
line width=1.5pt,domain=1:100,
samples=13,
color=pink] {1.5} node[above left] {$c$};
\addplot[smooth,black,mark=none,%samples=140,
line width=1.5pt,domain=1:100,
samples=13,
color=magenta] {ln(x)/2+.5} node[above left] {$\log n$};
\addplot[smooth,black,mark=none,%samples=140,
line width=1.5pt,domain=0:100,
samples=63,
color=blue] {sqrt(x)/2} node[above left] {$\sqrt{n}$};
\addplot[smooth,black,mark=none,%samples=140,
line width=1.5pt,domain=0:100,
samples=13,
color=cyan] {x*0.075} node[above left] {$n$};
\addplot[smooth,black,mark=none,%samples=140,
line width=1.5pt,domain=0:90,
samples=13,
color=black!20!green] {x*ln(x)*0.022} node[above left] {$n \log n$};
\addplot[smooth,black,mark=none,%samples=140,
line width=1.5pt,domain=0:70,
samples=10,
color=black!60!green] {x^2*0.0022} node[above left] {$n^2$};
\node[] at (60,10) {\color{black!60!green} $n^2$};
\addplot[smooth,black,mark=none,%samples=140,
line width=1.5pt,domain=0:46,
samples=10,
color=black!60!pink] {x^3*0.00014} node[above left] {$n^3$};
\node[] at (35,10) {\color{black!60!pink} $n^3$};
\addplot[smooth,black,mark=none,%samples=140,
line width=1.5pt,domain=0:24,
samples=12,
color=orange] {2^x*0.000001} node[below left] {$2^n$};
\node[] at (18,10) {\color{orange} $2^n$};
\addplot[smooth,black,mark=none,%samples=140,
line width=1.5pt,domain=0:9,
samples=15,
color=red] {x^x*0.0000001} node[below left] {$n!$};
\node[] at (4,10) {\color{red} $n!$};
\end{axis}
\end{tikzpicture}
\caption{ מי לא אוהב גרפים צבעוניים בטיקז?}
\label{fig:enter-label}
\end{figure}
אפשר ליצור טבלאות גם יחסית בקלות.
\begin{center}
\renewcommand{\arraystretch}{1.75}
\begin{tabular}{ | c | c | c | }
\hline
\textbf{סימון} &\textbf{ הגדרה 1 }&\textbf{ הגדרה 2} \\
\hline
$f\in \bigO(g)$
&
$ \lim\limits_{n\to\infty}\ \frac{f(n)}{g(n) } < \infty$
&
% $\exists c,n_0 \ :\ \forall n>n_0\ :\ $
$ f(n) \leq c \cdot g(n) $
\\
% % \hline
$f\in o(g)$
&
$ \lim\limits_{n\to\infty}\ \frac{f(n)}{g(n) }= 0$
&
% $\exists c,n_0 \ :\ \forall n>n_0\ :\ $
$ f(n) < c \cdot g(n)$
\\
% \hline
$f\in \Omega(g)$
&
$ \lim\limits_{n\to\infty}\ \frac{g(n)}{f(n) } < \infty $
&
% $\exists c,n_0 \ :\ \forall n>n_0\ :\ $
$ f(n) \geq c \cdot g(n)$
\\
% \hline
$f\in \omega(g)$
&
$ \lim\limits_{n\to\infty}\ \frac{g(n)}{f(n) }= 0$
&
% $\exists c,n_0 \ :\ \forall n>n_0\ :\ $
$ f(n) > c \cdot g(n)$\\
% \hline
$f\in \Theta(g)$
&
$ f\in \bigO(g)$ וגם $ g\in \bigO(f)$
&
% $\exists c,n_0 \ :\ \forall n>n_0\ :\ $
$ c\cdot g(n) \leq f(n) \leq c' \cdot g(n)$\\
\hline
\end{tabular}
\end{center}
\begin{figure}[H]
\centering
\begin{tikzpicture}
\begin{axis}[
ybar interval,
xmajorgrids=false,
ticks=none,
yticklabels={,,},
xticklabels={,,},
axis lines=middle,
enlargelimits,
xlabel={איטרציות $m$},
xmax=10,ymax=55,
xlabel near ticks,
y label style={rotate=90, at={(-0.,.75)}},
ylabel={לאיטרציה זמן},
]
\addplot[fill=orange] plot coordinates
{(0,15) (1,50) (2,30) (3,20) (4,40) (5,10)
(6,30) (7,20) (8,40) (9,30)};
\addplot[smooth,ultra thick, dashed, red] plot coordinates {
(0,50)
(9.25,50)
};
\node[] at (9.,55) {\color{red} $\bigO(f(n))$};
\end{axis}
\end{tikzpicture}
\caption{
בגדול זה לא סרט להתאים את הטיקז שלכם לעברית.
}
\label{fig:enter-label}
\end{figure}
\begin{figure}[H]
\centering
\begin{subfigure}{.3\linewidth}
\scalebox{0.4}{
\begin{tikzpicture}
\draw[ultra thick,fill=gray!20] (1,1) rectangle (10,10);
\foreach \v\p/\q [
evaluate=\p as \pplus using \numexpr\p+1\relax
% remember=\p as \lastp (initially 0)
] in {
1/1/{2, 6, 9}, %1 A
2/2/{6, 5, 7}, %2 B
3/3/{4,8,7, 9, 5, 6}, %3 C
4/4/{5, 6, 7, 8}, %4 D
5/5/{9}, %5 E
6/6/{8}, %6 F
7/7/{2}, %7 G
8/8/{4}, %8 H
9/9/{1} %9 I
}{
\node at (\p+.5,10.5) (\p1) [] {\huge$\v$};
\node at (0.5,10-\p+.5) (\p2) [] {\huge$\v$};
\foreach \r
[
evaluate=\r as \rplus using \numexpr\r+1\relax,
evaluate=\r as \rminus using \numexpr\r\relax
]
in \q {
\draw[ultra thick,fill=gray!75] (\rminus,11-\p) rectangle (\rplus,11-\pplus) {};
% For undirected graphs uncomment the following
\draw[ultra thick,fill=gray!75] (\p,11-\rminus) rectangle (\pplus,11-\rplus) {};
}
}
\foreach \v\p/\q [
evaluate=\p as \pplus using \numexpr\p+1\relax
% remember=\p as \lastp (initially 0)
] in {
% 1/1/{2, 6, 9}, %1 A
% 2/2/{6, 5, 7}, %2 B
3/3/{4,8, 6}, %3 C
4/4/{6, 8}, %4 D
% 5/5/{9}, %5 E
6/6/{8}, %6 F
% 7/7/{2}, %7 G
% 8/8/{4}, %8 H
% 9/9/{1} %9 I
}{
\node at (\p+.5,10.5) (\p1) [] {\huge$\v$};
\node at (0.5,10-\p+.5) (\p2) [] {\huge$\v$};
\foreach \r
[
evaluate=\r as \rplus using \numexpr\r+1\relax,
evaluate=\r as \rminus using \numexpr\r\relax
]
in \q {
\draw[ultra thick,fill=black!75] (\rminus,11-\p) rectangle (\rplus,11-\pplus) {};
% For undirected graphs uncomment the following
\draw[ultra thick,fill=black!75] (\p,11-\rminus) rectangle (\pplus,11-\rplus) {};
}
}
\end{tikzpicture}
}
\end{subfigure}~\begin{subfigure}{.3\linewidth}
\begin{tikzpicture}
\begin{scope}[every node/.style={circle,thick,draw}]
\foreach \i in {1,2,5,7,9} {
\pgfmathsetmacro\r{(\i+2)*(360/9)}
\node (\i) at (\r:1.75) {\i};
}
\foreach \i in {3,4,6,8} {
\pgfmathsetmacro\r{(\i+2)*(360/9)}
\node[fill=yellow!50] (\i) at (\r:1.75) {\i};
}
\end{scope}
\begin{scope}[>={Stealth[black]},
every node/.style={circle},
every edge/.style={draw=blue,very thick}]
\path [-] (1) edge[] node {} (2);
\path [-] (1) edge[] node {} (9);
\path [-] (1) edge[] node {} (6);
\path [-] (2) edge[] node {} (6);
\path [-] (2) edge[] node {} (7);
\path [-] (2) edge[] node {} (5);
\path [-] (3) edge[] node {} (9);
\path [-] (3) edge[] node {} (7);
\path [-] (3) edge[] node {} (4);
\path [-] (3) edge[] node {} (6);
\path [-] (3) edge[] node {} (8);
\path [-] (3) edge[] node {} (5);
\path [-] (4) edge[] node {} (5);
\path [-] (4) edge[] node {} (6);
\path [-] (4) edge[] node {} (8);
\path [-] (4) edge[] node {} (7);
\path [-] (5) edge[] node {} (9);
\path [-] (6) edge[] node {} (8);
\end{scope}
\end{tikzpicture}
\end{subfigure}
\caption{
\texthebrew{
הקוד בטיקז הזה מייצר גרפים ומטריצת שכנויות בו זמנית.
}
}
\label{fig:G}
\end{figure}
אפשר גם להוסיף אלגוריתמים אם משתמשים בסביבה דוברת אנגלית כדי להקיף את הקוד שלהם.
\vspace{-.5cm}
\textenglish{
\begin{center}
\begin{minipage}{.5\linewidth}%
\begin{algorithm}[H]
\caption*{\text{SuperCoolAlgorithm$(x,y)$}}\label{alg:countsort}
\begin{algorithmic}[1]
\State Take $x$. \Comment{\parbox[t]{.4\linewidth}{\texthebrew{ הערות שוליים}}}
\State Set $i = 3$
\While{ $i\leq n$}
\State Wear sunscreen.
\State $i\leftarrow i+1$.
\EndWhile
\Return $y$
\end{algorithmic}
\end{algorithm}
\end{minipage}
\end{center}
}
\bibliographystyle{plain}
\section*{\texthebrew{מקורות}}
\vspace{-1.5cm}
\textenglish{
\bibliography{sample}
}
\end{document}