Se afișează postările cu eticheta LaTeX. Afișați toate postările
Se afișează postările cu eticheta LaTeX. Afișați toate postările

sâmbătă, 7 decembrie 2013

Long Live The TeX Live (or How to install TeX Live on Ubuntu?)


What is the most common encountered error message when you try to compile a latex document which wasn't made by you?... Exactly:

! LaTeX Error: File `<somefilename>.sty' not found.

What is the solution? There are at least three solutions:
  1. You could download the package files from the Comprehensive TeX Archive Network and install manually in your system.
  2. If you use a GNU/Linux distribution, Ubuntu for example, then you could google the name of the Ubuntu package (or Debian package) which in turn, contains the latex package that you need and install the first via the apt-get command.
  3. If you use MS Windows then you could launch the Package Manager program from MiKTeX software and install the package via one-two clicks of mouse.
After N years of solving this problem I can say with certitude that I'm tired of solution 1 and 2. I like the solution 3, but it's only available on Windows... Is there a way to move the solution 3 to GNU/Linux context? Yes! It is called TeX Live (2013). And the steps for implementing the solutions are presented bellow.

1. Get rid of all texlive Ubuntu packages

sudo apt-get remove texlive-base

2. Download the TeX Live (2013) installation files form http://tug.org/texlive/acquire.html and install it.

wget http://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz
tar -xf install-tl-unx.tar.gz
cd install-tl-20131125
sudo ./install-tl

type I for the question and wait about two - three hours for installation process to finish.

3. Install the dependencies for the graphic interface of the TeX Live (2013) programs. 

sudo apt-get install tk
sudo apt-get install perl-tk

4. Clone key files from TeX Live located in /usr/local/ to /usr/ 

Run: sudo /usr/local/texlive/2013/bin/x86_64-linux/tlmgr --gui

From the Actions menu (Fig. 1) select Handle symlinks in system dirs... item and in the dialog that will show (Fig. 2) click on Update symbolic links button, then on OK.



Figure 1. TeX Live Manager 2013 GUI




 Figure 2. Handle symlinks in system dirs dialog

This step is necessary because it seems that some executable from tlmgr do not use internaly relative paths, but absloute paths like /usr/bin/tex

5. Install the necessary package

sudo tlmgr install <somepackagename>

Voilà.

luni, 30 septembrie 2013

Crearea de tabele pentru problemele de transport folosind LaTeX

1. Exemplul I

În exemplul de mai jos sînt utilizate doar comenzile: \multicolumn, \multirow și \cline. Apropo pentru commanda \multirow e nevoie de \usepackage{multirow}. Documentarea acestor comenzi poate fi găsită aici.


\begin{tabular}{|c|cc|cc|cc|cc|c|}
\hline
& \multicolumn{2}{|c|}{$C_1$}
  & \multicolumn{2}{|c|}{$C_2$}
  & \multicolumn{2}{|c|}{$C_3$}
  & \multicolumn{2}{|c|}{$C_4$}
  & \\
\hline
\multirow{2}{*}{$F_1$}
  & \multicolumn{1}{|c|}{} & 2
  & \multicolumn{1}{c|}{} & 3
  & \multicolumn{1}{c|}{} & 5
  & \multicolumn{1}{c|}{} & 1
  & \multirow{2}{*}{8}\\
\cline{3-3}\cline{5-5}\cline{7-7}\cline{9-9}
& & & & & & & & & \\
\hline
\multirow{2}{*}{$F_2$}
  & \multicolumn{1}{|c|}{} & 7
  & \multicolumn{1}{c|}{} & 3
  & \multicolumn{1}{c|}{} & 4
  & \multicolumn{1}{c|}{} & 6
  & \multirow{2}{*}{10}\\
\cline{3-3}\cline{5-5}\cline{7-7}\cline{9-9}
& & & & & & & & & \\
\hline
\multirow{2}{*}{$F_3$}
  & \multicolumn{1}{|c|}{} & 4
  & \multicolumn{1}{c|}{} & 1
  & \multicolumn{1}{c|}{} & 7
  & \multicolumn{1}{c|}{} & 2
  & \multirow{2}{*}{10}\\
\cline{3-3}\cline{5-5}\cline{7-7}\cline{9-9}
& & & & & & & & & \\
\hline
& \multicolumn{2}{|c|}{6}
  & \multicolumn{2}{|c|}{8}
  & \multicolumn{2}{|c|}{9}
  & \multicolumn{2}{|c|}{15}
  & 38\\
\hline
\end{tabular}


Rezultatul este următorul:

Puteți accesa (și compila) fișier LaTeX integral cu acest exemplu pe ShareLaTeX.com (https://www.sharelatex.com/project/52540b39ce0382ac30000347). Proiectul pe ShareLaTeX.com conține două fișiere, alegeți fișierul tabular.tex.

 2. Exemplul al II-lea

E cam mult de scris în exemplul de sus. În cele ce urmează este prezentată o metodă de construire a tabelului utilizînd cadrul tabu (care are nevoie de \usepackage{tabu}).

\newcommand{\cost}[1]{\raisebox{0.5cm}{\framebox{#1}}}

\everyrow{\hline}
\setlength{\tabcolsep}{0pt}

\begin{tabu}{|X[c,m]|X[r,m]|X[r,m]|X[r,m]|X[r,m]|X[c,m]|}
&
\multicolumn1{c|}{$C_1$}&
\multicolumn1{c|}{$C_2$}&
\multicolumn1{c|}{$C_3$}&
\multicolumn1{c|}{$C_4$}&\\
$F_1$ & \cost{2}  & \cost{3} & \cost{5} & \cost{1} & 8\\
$F_1$ & \cost{7}  & \cost{3} & \cost{4} & \cost{6} & 10\\
$F_1$ & \cost{4}  & \cost{1} & \cost{7} & \cost{2} & 10\\
& 
\multicolumn1{c|}{6} & 
\multicolumn1{c|}{8} & 
\multicolumn1{c|}{9} & 
\multicolumn1{c|}{15} & 
\multicolumn1{c|}{38}\\
\end{tabu}

Rezultatul va arăta astfel:



Puteți accesa (și compila) fișier LaTeX integral cu acest exemplu pe ShareLaTeX.com (https://www.sharelatex.com/project/52540b39ce0382ac30000347). Proiectul pe ShareLaTeX.com conține două fișiere, alegeți fișierul tabu.tex.


\mathbb{1}

Cum putem aplica stilul "Blackboard bold" la numere?
Din păcate pachetul standard în care este definită comanda \mathbb (amsmath sau amssymb, nu țin minte exact) este limitat doar la litere ($\mathbb{R}$, $\mathbb{Q}$ etc) și nu conține glife pentru cifre. O soluție este pachetul bbold care extinde comanda \mathbb cu unicul "dezavantaj" că glifele pentru litere arată puțin altfel.
Altă soluție este pachetul bbm care nu modifica comanda \mathbbm, ci "vine" cu o noua comanda \mathbbm.
Ambele pachete pot fi instalate în Ubuntu prin intermediul pachetul de sistem texlive-fonts-extra.

sâmbătă, 31 august 2013

Some random examples with PGF/TikZ

July 2013, the lucky month when a student of mine whom I was advising on his undergraduate thesis, finally successfully finished it. It happened that I only now have the time to write about this event. I was much busy before.
The title of the thesis was "Computer Technologies for Visualization of Mathematical Objects"  (the original title, in Romanian, sounds like: "Tehnologii de vizualizare a obiectelor matematice prin utilizarea calculatorului").
We both had been working hard to get it well done. And the fruitful result of the months of hard work that we had spent is, on my side, some good experience of working with LaTeX, PGF/TikZ, appreciation of the work from my colleagues, on the student's side, the highest score for this work and,  on the committee's side, the pleasant experience of viewing some fresh ideas, powerful technologies, a well-structured and understandable content of the work.

I will present some of the things that the thesis was about in the paragraphs below.


\begin{figure}[!hb]
\tikzset{external/force remake}   
\centering%
\begin{tikzpicture}
  \begin{axis}[xlabel=$x$,ylabel=$y$,zlabel=$z$]
    \addplot3[surf, samples=20] {x^2-y^2};
    \begin{scope}[every node/.style={circle,inner sep=1.5pt,fill=black}]
      \node[pin=50:\footnotesize{saddle point}] at (axis cs:0,0,0) {};
    \end{scope}
  \end{axis}
\end{tikzpicture}
\caption{Saddle point of function $f(x,y)=x^2-y^2$}
\end{figure}



\begin{figure}[!hb]
\begin{tikzpicture}
  \begin{axis}[xlabel=$x$,ylabel=$y$,zlabel=$z$,view/az=225,view/h=165]  
    \addplot3[surf,samples=20,domain=-3:3] {(x^3)+(y^3)-(3*x)-(12*y)+1};
    
    \begin{scope}[every node/.style={circle,inner sep=1.5pt,fill=black}]
      \node[pin=140:\footnotesize{minimum}] at (axis cs:1,2,-17) {};
      \node[pin=140:\footnotesize{maximum}] at (axis cs:-1,-2,19) {};
      \node[pin=140:\footnotesize{saddle}] at (axis cs:1,-2,15) {};
      \node[pin=140:\footnotesize{saddle}] at (axis cs:-1,2,-13) {};
    \end{scope}
  \end{axis}
\end{tikzpicture}  
\caption{Critical points of function $f(x,y)=x^3+y^3-3x-12y+1$}
\end{figure}

\begin{figure}[!hb]
\begin{tikzpicture}
  \begin{axis}[xlabel=$x$,ylabel=$y$,zlabel=$z$,view/az=75]  
    \addplot3[surf,samples=20,domain=-3:3] {(x^3)+(y^3)-(3*x)-(12*y)+1};      

    \begin{scope}[every node/.style={circle,inner sep=1.5pt,fill=black}]
      \node[pin=170:\footnotesize{minimum}] at (axis cs:1,2,-17) {};
      \node[pin=140:\footnotesize{maximum}] at (axis cs:-1,-2,19) {};
      \node[pin=160:\footnotesize{saddle}] at (axis cs:1,-2,15) {};
      \node[pin=140:\footnotesize{saddle}] at (axis cs:-1,2,-13) {};
    \end{scope}
  \end{axis}
 
\end{tikzpicture}  
\caption{Critical points of function $f(x,y)=x^3+y^3-3x-12y+1$ (different view)}
\end{figure}

luni, 25 februarie 2013

LaTeX: Adrese cu conținut înteresant

Revista organizației TeX User Group, TUGboat : http://www.tug.org/tugboat/Contents/

Site-ul stackoverflow.com: http://stackoverflow.com/
Lectură plăcută!

duminică, 9 septembrie 2012

LaTeX: miscelaneu

Instalarea pachetelor LaTeX în contextul distribuției MiKTeX

Sînt multe modalităti de a instala un pachet LaTeX în MikTeX. Una din ele este prin intermediul aplicației care vine împreună cu MikTeX - Package Manager (Start/All Programs/MiKTeX/Maintance (Admin)/Package Manager (Admin)).

Tehnoredactare în Unicode (MikTeX)

În primul este nevoie de un mediu de tehnoredactare care poate "înțelege" (deschide) corect fișierele în Unicode. De exemplu Texmaker (din păcate TeXnicCenter 1.0 RC nu este capabil de așa ceva).
  1. Instalați pachetul "ucs".
  2. În antetul fișierului LaTeX adăugați rîndul "\usepackage[utf8x]{inputenc}"
În caz că apare eroarea următoare.

! LaTeX Error: File `uni-global.def' not found.Type X to quit or to proceed,or enter new name. (Default extension: def)Enter file name:! Emergency stop. ...ni-global.def \else\input{uni-global.def}

Descarcati varianta arhiv a pachetul-ui ucs.. Copiați directoriul "data" din acest arhiv în "C:\Program Files\MiKTeX 2.9\tex\latex\ucs".  Actualizați baza de date cu nume de fișiere în MiKTeX cu ajutorul aplicației MiKTeX Options (Start/All Programs/MiKTeX/Maintance (Admin)/Settings (Admin)).

PGF/TikZ și GNUPLOT (Kile)

În linii generale pentru a putea utiliza TikZ împreună cu GNUPLOT este nevoie de următoarele
două condiții:

  1. GNUPLOT să fie instalat pe calculator
  2. TeX-ului trebuie să i se dea permisiunea de a executa programe externe.

Condiția 1 poate fi trecută cu vederea ... pînă cînd ))).
Dacă nu este 2 vă veți confrunta cu mesaje de eroare de tipul

Package pgf Warning: Plot data file `XX.table' not found. on input line YY.

Pentru cazul Linux/Kile (Sistem de operare/Mediu de TeXnoredactare) se procedează după cum urmează. Parcurgeți următorul lanț de itemi de meniu: Settings/Configure Kile.../Tools/Build;
și adăugați în zona "Options:"  opțiunea pentru linia de comandă "-shell-escape".

Instalarea pachetelor LaTeX (Ubuntu)

Cel mai des pachetele LaTeX sînt distribuite sub formă de colecție de fișiere, adică reprezintă un directoriu care conține un anumit număr de fișiere. În acestă colecție obligatori veți găsi două fișiere: unul cu extensia ".dtx", iar altul cu extensia ".ins".   
Eu obișnuesc să instalez pachetele LaTeX în directoriul "~/texmf/tex/latex", iar procedura de instalare poate fi descrisă în linii generale prin următoarea consecutivitate de comenzi.

cp foo/ ~/texmf/tex/latex/
cd ~/texmf/tex/latex/foo/
latex foo.ins
texhash ~/texmf

Pachete LaTeX pentru documente PDF interactive

Nu m-aș fi gîndid că există astfel de pachete dacă nu citeam articolul Interactive PDFs with LaTeX. A fost o surpriză plăcută care demonstrează încă odată cît de multe se poate de făcut folosind LaTeX.

  • attachfile - oferă posibilitatea de incorpora fișiere în documentul PDF, de exemplu imaginile în original sau cod sursă de program etc;
  • movie15 - adăugarea de fișiere video, audio și 3D obiecte în documentul PDF;
  • pdfpages - inserarea fișierelor .pdf în documentul final.

Link-uri utile: tutoriale

Online tutorials on LaTeX (Mi-a plăcut mult materialul privitor la Box-uri: Several Kinds of Boxes)

Traducerea contextelor Definition, Theorem etc. in română

\usepackage[romanian]{babel}
\deftranslation[to=romanian]{Definition}{Definiție}

marți, 14 februarie 2012

LaTeX și blogger.com (sau curriculum blogger)

În căutarea unei soluții simple pentru afișarea fomulelor în articole am trecut prin mai multe insuccese, de exemplu http://watchmath.com/vlog/?p=438.
Pînă cînd nu am dat de acest articol MathJax in Blogger (II)
Extraordinar!

$\sqrt{x^2} = |x|$

\[\int_a^b f(x)dx = F(b)-F(a)\]

\[\frac{1}{1-\frac{1}{1-\frac{1}{1-\frac{1}{...}}}}\]