View on GitHub

Begin-Latex-in-minutes

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

English · 中文 · Español · Português · Franç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ć “Hello World!” i uruchom “quick 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 “pakietu” (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ới. 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ới. 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.