View on GitHub

Begin-Latex-in-minutes

馃摐 Brief Intro to LaTeX for beginners that helps you use LaTeX with ease.

English涓枃Espa帽olPortugu锚sFran莽ais袪褍褋褋泻懈泄Deutsch鏃ユ湰瑾 路 Polski


Szybki start w Latex

Adnotacja Zawarto艣膰 tego poradnika oparta jest na do艣wiadczeniach autora - studenta, kt贸ry czerpie przyjemno艣膰 z tego co robi. Je艣li widzisz miejsce na popraw臋 - prosz臋 stw贸rz incydent lub pull request. Je艣li ten dokument stawowi dla Ciebie du偶膮 warto艣膰, prosz臋, rozwa偶 darowizn臋 dla autora.

Spis tre艣ci

Czym jest Latex?

LaTeX (wymawiane jako Latech) to system do zautomatyzowanego przygotowywania dokument贸w. Znajduje swoje zastosowanie g艂贸wnie w艣r贸d 艣rodowisk naukowych oraz przy du偶ych publikacjach, chocia偶 mo偶na go z powodzeniem wykorzystywa膰 do dowolnych cel贸w wydawniczych.

Dlaczego mia艂bym go u偶ywa膰?

LaTeX nie jest pozbawiony wad, ale nadal warto si臋 go nauczy膰.

Konfiguracja

B臋dziesz potrzebowa膰:

  1. Dystrybucja LaTeX. Korzystam z MiKTeX for Windows.
  2. Edytor tekstu dla LaTeX. Korzystam z TeXMaker by u艂atwi膰 sobie prac臋, chocia偶 pliki LaTeX mo偶esz edytowa膰 nawet w Notatniku.
  3. Oprogramowanie do wy艣wietlania PDF. (optional) Mo偶e by膰 dos艂ownie dowolny.

Dodatkowo musisz dobra膰 kompilator. Domy艣lnym kompilatorem w wi臋kszo艣ci edytor贸w jest pdfLaTeX, ale mo偶e si臋 zdarzy膰, 偶e b臋dziesz potrzebowa膰 wsparcia dla font贸w TTF/OTF - godnym polecenia jest wtedy LuaLaTex.

Mo偶esz r贸wnie偶 zdecydowa膰 si臋 na gotowe rozwi膮zania internetowe, takie jak np. ShareLaTeX. Zajrzyj do sekcji Przydatne narz臋dzia by pozna膰 alternatywy.

Pierwsze kroki

Zacznijmy od tradycyjnego Hello World w LaTeX. Po tym jak zainstalowa艂e艣 TexMaker, stw贸rz plik z rozszerzeniem .tex. Nast臋pnie przepisz do edytora tekst poni偶ej, by wy艣wietli膰 鈥淗ello World!鈥 i uruchom 鈥渜uick build鈥. W innych edytorach ta procedura nie powinna si臋 znacz膮co r贸偶ni膰.

\documentclass[a4paper]{article}

\begin{document}

Hello World !  % This is your content

\end{document}

Tak powinno to wygl膮da膰 w TexMaker

Rzut oka na szczeg贸艂y

:eyes: Wyja艣nimy sobie co w艂a艣nie napisali艣my:

:zap: Uwaga! :zap:

Wiele j臋zyk贸w w jednym dokumencie

Niestety, nie wszystkie j臋zyki dzia艂aj膮 poprawnie w LaTeX od razu po instalacji, czasem trzeba im pom贸c.

:white_check_mark: Pierwszy spos贸b :white_check_mark:

Pierwsz膮 metod膮 jest wykorzystanie 鈥減akietu鈥 (Przeczytasz o tym p贸藕niej), poniewa偶 domy艣lny kompilator pdfLatex jest ograniczony do 256 znak贸w co powoduje problemy z kodowaniem. Na przyk艂ad:

\documentclass[a4paper]{article}

\usepackage[T5]{fontenc}
\usepackage[utf8]{inputenc}

\begin{document}

Xin ch脿o th岷 gi峄沬. This is Hello World in Vietnamese.

\end{document}

W tym przypadku korzystamy z pakietu usepackage[T5]{fontenc} oraz usepackage[utf8]{inputenc}. Ta paczka pomo偶e kompilatorowi wy艣wietli膰 poprawnie tekst. Je艣li korzystasz z TexMaker to powiniene艣 zobaczy膰 taki efekt:

je艣li jednak usuniesz ten pakiet :package: z tekstu zobaczysz to:

:umbrella: W prosty spos贸b mo偶esz poradzi膰 sobie ze znakami j臋zyk贸w dalekowschodnich za pomoc膮 usepackage{CJKutf8} z \begin{CJK}{UTF8} i \end{CJK}. Poni偶ej pr贸bka tego pakietu w j臋zyku japo艅skim :jp::

\documentclass[a4paper]{article}
\usepackage{CJKutf8}

\begin{document}

\begin{CJK}{UTF8}{min}
銇撱伄瑷樹簨銈掕銈撱仹銇勩仧銇犮亶銇傘倞銇屻仺銇嗐仈銇栥亜銇俱仚銆
%Thank you for reading this article.
\end{CJK}

\end{document}

To proste niczym zjedzenie :sushi::

:white_check_mark: Kolejny spos贸b :white_check_mark:

Kolejna metoda zak艂ada, 偶e korzystasz z kompilatora LuaLaTeX (lun XeLaTeX). Za pomoc膮 fontspec i polyglossia kodowanie Unicode zadzia艂a out of the box:

\documentclass[a4paper]{article}

\usepackage{fontspec}
\usepackage{polyglossia}
%\setmainfont[]{DejaVu Serif}

\begin{document}

Xin ch脿o th岷 gi峄沬. This is Hello World in Vietnamese.

\end{document}

Domy艣lny font (Latin Modern) nie wspiera wszystkich znak贸w. Niemniej, mo偶esz skorzysta膰 z dowolnego fonta zainstalowanego na Twoim komputerze usuwaj膮c znak komentarza z lini \setmainfont.

Listy i wypunktowania

:straight_ruler: To bardzo wa偶ne, by panowa膰 nad porz膮dkiem w Twoim dokumencie. Z tego powodu postarajmy si臋 zaj膮膰 listami.
Dwoma najpopularniejszymi listami s膮 listy numerowanie i nienumerowane. Obie z nich mo偶emy bez problemu zastosowa膰 w LaTeXu:

\begin{itemize}
\item Element listy.
\item Kolejny element listy.
\end{itemize}
\begin{enumerate}
\item Element listy.
\item Kolejny element listy.
\end{enumerate}

Oto jak prezentuj膮 si臋 oba rodzaje list.

Ust臋py i rozdzia艂y

:blue_book: Rozdzia艂 rozpoczynamy komend膮 \section, a ust臋py za pomoc膮 \paragraph. :orange_book: Mo偶esz tworzy膰 r贸wnie偶 podrozdzia艂y \subsection oraz podust臋py \subparagraph

Tworzenie spisu tre艣ci

:metal: Spis tre艣ci wygeneruje si臋 automatycznie za ka偶dym razem, gdy umie艣cisz w pliku komend臋 \tableofcontents

Przyk艂ad:

:bangbang: Wskaz贸wka: by stworzy膰 now膮 stron臋 u偶yj komendy \newpage.

Przypisy

Bardzo prosto mo偶esz stworzy膰 przypisy, do kt贸rych mo偶esz si臋 potem odnosi膰. Na przyk艂ad:

Pozw贸l, 偶e si臋 przedstawi臋!\footnote{\label{myfootnote}Witaj Przypisie!}.
... (p贸藕niej)
Odnosz臋 si臋 do siebie \ref{myfootnote}.

:point_down: :point_down: Widzisz jakie to proste? ? :point_down: :point_down:

:bangbang: Wskaz贸wka: Now膮 linie stworzysz za pomoc膮 \newline.

Co to jest pakiet?

LaTeX przychodzi z kompletem ca艂kiem ciekawych funkcji, niemniej czasem potrzebujemy nieszablonowego rozwi膮zania, kt贸re dostarcza pakiet. By zaimportowa膰 pakiet do LaTeXa wystarczysz, 偶e umie艣cisz \usepackage przed rozpocz臋ciem dokumentu :package:

Sp贸jrz prosz臋 na poni偶szy przyk艂ad dla pakietu obs艂uguj膮cego r贸wnania:

Albo na jeszcze bardziej imponuj膮ce obwody elektroniczne:

:construction: By znale藕膰 pakiety, kt贸rych potrzebujesz u偶yj Google - ich liczebno艣膰 oraz kompleksowo艣膰 przeros艂aby dowolnej wielko艣ci poradnik.

Tabele

Prosty przyk艂ad :thought_balloon::

\begin{table}[h!]
  \centering
  \caption{Caption for the table.}
  \label{tab:table1}
  \begin{tabular}{l|c||r}
    1 & 2 & 3\\
    \hline
    a & b & c\\
  \end{tabular}
\end{table}

:star2: Zwr贸ci nam co艣 takiego :star2::

Przyjrzyjmy si臋 temu bli偶ej :eyes::

:bangbang: Wskaz贸wka: Skorzystaj z pakietu :package: booktabs \usepackage{booktabs}, by tworzy膰 efektowne tabele.

Dodawanie obraz贸w

By doda膰 obraz w LaTeXu potrzebujesz 艣rodowiska figure oraz pakietu graphicx. Umie艣膰 \usepackage{graphicx} w preambule oraz poni偶szy kod w tre艣ci dokumentu

\begin{figure}
  \includegraphics[width=\linewidth]{filename.jpg}
  \caption{What is it about?}
  \label{fig:whateverlabel}
\end{figure}

:bangbang: Wskaz贸wka: Umie艣膰 [width=\linewidth] by przeskalowa膰 obraz do szeroko艣ci dokumentu. Je艣li chcesz, by dokument op艂ywa艂 zdj臋cie musisz doda膰 do niego argument okre艣laj膮cy jego pozycj臋. W tym przypadku r贸wnie偶 mo偶esz oznaczy膰 ten element za pomoc膮 komendy label.

\begin{figure}[h!]

:passport_control: Poprawne warto艣ci to:

W ten spos贸b wyrenderuje si臋 nasze zdj臋cie:

Wstawianie kodu w dokument Latex

:white_check_mark: Pierwszy spos贸b :white_check_mark:

Kluczowym aspektem dla wielu programist贸w jest to jak profesjonalne wklei膰 kod do ich dokument贸w.

W LaTeXu ten aspekt nie stanowi 偶adnego problemu.

Przyk艂ad:

\documentclass[a4paper]{article}

\begin{document}

Hello world!

\begin{verbatim}
#include <iostream>

int main()
{
	std::cout << "hello world!\n";
	return 0;
}
\end{verbatim}

\end{document}

:speech_balloon: LaTeX wspiera sk艂adni臋 nast臋puj膮cych j臋zyk贸w :speech_balloon:

Jak widzisz, za pomoc膮 znacznik贸w {verbatim} mo偶esz wklei膰 sw贸j kod do dokumentu nie przejmuj膮c si臋 jego formatowaniem. Sp贸jrz jak profesjonalnie to wygl膮da:

:white_check_mark: :white_check_mark: Drugi spos贸b :white_check_mark: :white_check_mark:

Ten spos贸b pozwala na troch臋 wi臋cej, w tym wstawianie kodu wewn膮trz linii, personalizowane formatowanie kodu, dob贸r konkretnego j臋zyka, import kodu z innego pliku. W tym sposobie korzyta膰 z pakietu :package: o nazwie listings.

Sp贸jrz na poni偶szy przyk艂ad:

\documentclass[a4paper]{article}

\usepackage{listings}
\usepackage{color}

\lstdefinestyle{mystyle}{
keywordstyle=\color{magenta},
backgroundcolor=\color{yellow},
commentstyle=\color{green},
basicstyle=\footnotesize,
}
\lstset{style=mystyle}

\begin{document}


Hello world!

\begin{lstlisting}[language=Python]

print "Hello World!"

\end{lstlisting}

\lstinputlisting[language=C++]{hello.cpp}

Lorem ipsum dolor sit amet \lstinline{print "Hello World"} , consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.


\end{document}

Wyci膮gnijmy kilka wniosk贸w:

  1. By wstawi膰 blok kodu zacznij go od \begin{lstlisting}, a sko艅cz na \end{lstlisting}
  2. By zaimportowa膰 tre艣膰 z innego pliku u偶yj komendy lstinputlisiting{name_of_file}
  3. By okre艣li膰 j臋zyk u偶yj [language=C++]
  4. By wstawi膰 kod w obr臋bie linii u偶yj \lstinline
  5. By zaaplikowa膰 w艂asne style skorzystaj z \usepackage{color} i zdefiniuj w艂asne style (sp贸rzj na przyk艂ad). Mo偶esz modyfikowa膰 szeroki wachlarz styl贸w, ale pami臋taj by wspomaga膰 si臋 dokumentacj膮.
  6. Wi臋cej informacji znajdziesz tutaj.

W艂a艣nie tak to si臋 wy艣wietla:

Praca na wielu plikach w Latex

Z czasem, gdy pracujemy w LaTeXu nasze pliki rosn膮 do niewygodnych rozmiar贸w, wymuszaj膮c na nas rozdzielenie tego na komponenty.

Sp贸jrzmy na to:

% main.tex
\documentclass[a4paper]{article}

\begin{document}

Hello Latex, This is my first part.

Hello Latex, This is my second part.

\end{document}

Tak zapisywali艣my to do tej pory. Teraz podzielmy to na pliki i zaimportujmy je za pomoc膮 \input:

% main.tex
\documentclass[a4paper]{article}

\begin{document}

Hello Latex, This is my first part.

\input{second_file}

\end{document}
% second_file.tex
Hello Latex, This is my second part.

G艂贸wny plik wygl膮da teraz inaczej, ale jest z pewno艣ci膮 lepiej zorganizowany.

:bangbang: Wskaz贸wka: Dla czytelno艣ci i 艣wietego spokoju edytujacego zaleca si臋, by podzieli膰 Tw贸j plik systematycznie i metodycznie.

Przydatne narz臋dzia

Dystrybucje

Edytory

Kompilatory

HOORAY!!

:tada: Dzi臋kuj臋 Ci za uko艅czenie tego poradnika. To wszystko czego potrzebujesz do rozpocz臋cia swojej przygody z LaTeX. :hammer:
Je艣li b臋dziesz potrzebowa艂 pomocy, tutaj znajdziesz wiele przydatnych informacji .

Licencja

DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE Copyright (C) 2016 Luong Vo Everyone is permitted to copy and distribute verbatim or modified copies of this license document, and changing it is allowed as long as the name is changed. TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION: You just DO WHAT THE FUCK YOU WANT TO.

A beer in your country can buy a meal in mine.

Adnotacja od autora t艂umaczenia

Autorem t艂umaczenia jest Artur Komorowski (@aokomorowski). Je艣li widzisz w tek艣cie b艂臋dy - prosz臋, popraw je. Je艣li uznasz, 偶e LaTeX zmieni艂 Twoje 偶ycie - podzi臋kuj autorowi.