English · 中文 · Español · Português · Français · Русский · Deutsch · 日本語 · Polski
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.
- Czym jest Latex?
- Dlaczego miałbym go używać?
- Konfiguracja
- Pierwsze kroki
- Rzut oka na szczegóły
- Wiele języków w jednym dokumencie
- Listy i wypunktowania
- Ustępy i rozdziały
- Tworzenie spisu treści
- Przypisy
- Co to jest pakiet?
- Tabele
- Dodawanie obrazów
- Wstawianie kodu w dokument Latex
- Praca na wielu plikach w Latex
- Przydatne narzędzia
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.
- LaTeX jest darmowy, działa na większości dostępnych platform.
- Pliki LaTeX mogą zostać otwarte za pomocą każdego edytora tekstu, a następnie przekonwertowane do PDF.
- LaTeX rozdziela formę i treść. Do raz określonej formy możemy dodawać kolejną treść.
- Przepływ pracy jest znacząco szybszy niż w MS Word.
- LaTeX cieszy się dużym zaufaniem środowisk naukowych.
- LaTeX jest po prostu najlepszy, gdy w Twoim dokumencie pojawia się matematyka.
LaTeX nie jest pozbawiony wad, ale nadal warto się go nauczyć.
Będziesz potrzebować:
- Dystrybucja LaTeX. Korzystam z MiKTeX for Windows.
- Edytor tekstu dla LaTeX. Korzystam z TeXMaker by ułatwić sobie pracę, chociaż pliki LaTeX możesz edytować nawet w Notatniku.
- 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.
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
👀 Wyjaśnimy sobie co właśnie napisaliśmy:
- Pierwsza linia mówi kompilatorowi, że pracujemy na klasie article o wymiarach kartki A4. Istnieją inne klasy dokumentów, na których możesz pracować - o ich istnieniu możesz przeczytać w dokumentacji LaTeX.
- Dokument rozpoczyna się \begin{document} a kończy \end{document}. Pomyśl o tym jak o sercu dokumentu, czymś jak
main()
w java lub C++... bez którego dokument nie może zostać wyrenderowany. - Wszystko pomiędzy znacznikami begin i end to zawartość dokumentu.
- Znak procenta (%) oznacza komentarz, który nie jest brany pod uwagę przy renderowaniu.
- Gdy spojrzysz na znaczniki \begin{document}, \end{document}, \documentclass[a4paper]{article} możesz zauważyć pewną właściwość. Są to Polecenia składni ( zwyczajowo poprzedzane znakiem “\” ) i argumenty ( osadzane między nawiasami klamrowymi “{}”, gdy są obowiązkowe lub między nawiasami kwadratowymi "[]", gdy są opcjonalne). To właśnie tego typu polecenia napędzają LaTeX.
- Jeśli uważnie prześledziłeś wszystkie kroki nie powinieneś napotkać żadnych problemów. Niemniej, jeśli w przyszłości natrafisz na błędy - nie panikuj. Błędy są napisane w czytelny sposób i mogą zostać rozwiązane samodzielnie lub z pomocą Google.
- Niektóre znaki są zastrzeżone w LaTeX. By ich użyć będziesz potrzebował backslasha (\) przed każdym z nich.
Niestety, nie wszystkie języki działają poprawnie w LaTeX od razu po instalacji, czasem trzeba im pomóc.
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 📦 z tekstu zobaczysz to:
☔ 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 🇯🇵:
\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 🍣:
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
.
📏 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:
-
Lista nienumerowana
Lista nienumerowana potrzebuję tylko itemize
\begin{itemize}
\item Element listy.
\item Kolejny element listy.
\end{itemize}
-
Lista numerowana
Lista numerowana potrzebuje wartości enumerate.
\begin{enumerate}
\item Element listy.
\item Kolejny element listy.
\end{enumerate}
Oto jak prezentują się oba rodzaje list.
📘 Rozdział rozpoczynamy komendą \section
, a ustępy za pomocą \paragraph
.
:orange_book: Możesz tworzyć również podrozdziały \subsection
oraz podustępy \subparagraph
🤘 Spis treści wygeneruje się automatycznie za każdym razem, gdy umieścisz w pliku komendę \tableofcontents
Przykład:
\newpage
.
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}.
👇 👇 Widzisz jakie to proste? ? 👇 👇
\newline
.
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 📦
Spójrz proszę na poniższy przykład dla pakietu obsługującego równania:
Albo na jeszcze bardziej imponujące obwody elektroniczne:
🚧 By znaleźć pakiety, których potrzebujesz użyj Google - ich liczebność oraz kompleksowość przerosłaby dowolnej wielkości poradnik.
Prosty przykład 💭:
\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}
🌟 Zwróci nam coś takiego 🌟:
Przyjrzyjmy się temu bliżej 👀:
- W tabelach pierwsze czego potrzebujemy to środowisko tabeli, dlatego używamy poleceń
\begin{table}
i\end{table}
. - O tym co oznacza h! dowiesz się później w sekcji poświęconej obrazom. Komenda
\centering
utrzymuje tabelę na środku strony. - Caption to podpis. Label służy do oznaczania tabeli. O tym też dowiesz się w sekcji poświęconej obrazom.
- Tabular jest najważniejszym elementem. Środowisko tabeli (table) wymaga, by w środku znajdowało się środowisko tabular.
- fragment
{l|c||r}
opisuje formatowanie tabeli.- l lub c lub r oznacza, że zawartość każdej komórki zostanie wyrównana do lewej/środkowej/prawej strony (zgodnie z angielskim left, center, right).
- Pionowa kreska | albo || oznacza sposób rozgraniczania kolumn.
- 1 & 2 & 3 => 1 2 3 to zawartość z każdej komórek. Znak & oddziela każdą z komórek.
\hline
dodaje poziomą linię rozgraniczającą wiersze.
- fragment
\usepackage{booktabs}
, by tworzyć efektowne tabele.
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}
\begin{figure}[h!]
🛂 Poprawne wartości to:
- h (here) — dokładnie to miejsce
- t (top) — góra strony
- b (bottom) — dół strony
- p (page) — dodatkowa strona
- ! (override) — wymusi wskazaną lokalizację
W ten sposób wyrenderuje się nasze zdjęcie:
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}
💬 LaTeX wspiera składnię następujących języków 💬
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:
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 📦 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:
- By wstawić blok kodu zacznij go od
\begin{lstlisting}
, a skończ na\end{lstlisting}
- By zaimportować treść z innego pliku użyj komendy
lstinputlisiting{name_of_file}
- By określić język użyj
[language=C++]
- By wstawić kod w obrębie linii użyj
\lstinline
- 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ą. - Więcej informacji znajdziesz tutaj.
Właśnie tak to się wyświetla:
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.
- MiKTeX for Windows.
- TeX Live for Linux and Unix-based.
- MacTeX for macOS.
- ShareLaTeX — edytor online.
- Overleaf — edytor online.
- StackEdit — In-browser markdown editor.
- TeXMaker Cross platform LaTeX editor.
- TeXStudio An enhanced fork of TeXMaker with more features.
- TeXShop and TeXworks (minimal editors)
- Większość edytorów pozwoli Ci na wybór domyślnego kompilatora:
🎉 Dziękuję Ci za ukończenie tego poradnika. To wszystko czego potrzebujesz do rozpoczęcia swojej przygody z LaTeX. 🔨
Jeśli będziesz potrzebował pomocy, tutaj znajdziesz wiele przydatnych informacji .
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.