Pokud už nepoužíváte LyX (je jednodušší, fakt), doporučuju psát třeba v TeXstudiu, které má vestavěný prohlížeč se schopností odkazovat se zpět na zdrojový text. A zvýrazňování syntaxe. A český spell checking. Ale má samozřejmě i svoje mouchy, někdy je hrozně pomalý. Další použitelný (ale placený) editor je WinEdt (u něj si ale třeba zpětné odkazování na zdrojový text musíte nastavit sami, spolu s vhodným prohlížečem -- zkuste třeba SumatraPDF).
Pro sazby fyzikálních jednotek a procent používáme balíček siunitx. Ten dokáže automaticky mimo jiné konvertovat čísla do českého zápisu s desetinnou čárkou, pokud použijeme příkazy jako \qty{}
nebo \SI{6.32}{\kilometre\per\hour}
.
Do preambule stačí snad napsat
\usepackage{siunitx}
\sisetup{output-decimal-marker = {,}} % use decimal comma when typesetting
Pro výpisy kódu doporučuju používat balíček listings, doplněný o lstautogobble (součást lstaddons).
V LaTeXovém zdrojovém kódu zavedeme jako
% Source code listings
\usepackage{listings}
% See https://tex.stackexchange.com/questions/43686/autogobble-for-lstinputlistings
\usepackage{lstautogobble} % Provides autogobble switch for `listings` package
Nastavení výpisu zdrojového kódu provádíme příkaz \lstset
, jehož parametry jsou popsané ve výše odkazované dokumentaci. Pro slajdy v MAMY používám následující nastavení:
\lstset{
language=Matlab, % highlight Matlab keywords and (some) functions
autogobble=true, % thanks to `lstautogobble` package
% basewidth=\fontcharwd\font`M,
basicstyle=\ttfamily, % executed at the beginning of each listing
breaklines=true, % break lines if too long
breakatwhitespace, % break lines only at whitespace chars
breakindent=0pt, % indentation of continuation lines
columns=fullflexible,
backgroundcolor=\color{gray!10}, % listing background
stringstyle=\color{Fuchsia}, % string literal style
commentstyle=\color{OliveGreen},
escapeinside={@*}{*@}, % escape to LaTeX between @* and *@
xleftmargin=0pt,
xrightmargin=0pt,
framexleftmargin=6pt,
framextopmargin=0pt,
framexbottommargin=0pt,
frame=tb, % frame line only at the top and bottom of listing
framerule=0pt,
literate= % listings cannot cope with UTF-8 accented chars, map them
{á}{{\'a}}1 {é}{{\'e}}1 {í}{{\'i}}1 {ó}{{\'o}}1 {ú}{{\'u}}1
{Á}{{\'A}}1 {É}{{\'E}}1 {Í}{{\'I}}1 {Ó}{{\'O}}1 {Ú}{{\'U}}1
{à}{{\`a}}1 {è}{{\`e}}1 {ì}{{\`i}}1 {ò}{{\`o}}1 {ù}{{\`u}}1
{À}{{\`A}}1 {È}{{\'E}}1 {Ì}{{\`I}}1 {Ò}{{\`O}}1 {Ù}{{\`U}}1
{ä}{{\"a}}1 {ë}{{\"e}}1 {ï}{{\"i}}1 {ö}{{\"o}}1 {ü}{{\"u}}1
{Ä}{{\"A}}1 {Ë}{{\"E}}1 {Ï}{{\"I}}1 {Ö}{{\"O}}1 {Ü}{{\"U}}1
{â}{{\^a}}1 {ê}{{\^e}}1 {î}{{\^i}}1 {ô}{{\^o}}1 {û}{{\^u}}1
{Â}{{\^A}}1 {Ê}{{\^E}}1 {Î}{{\^I}}1 {Ô}{{\^O}}1 {Û}{{\^U}}1
{Ã}{{\~A}}1 {ã}{{\~a}}1 {Õ}{{\~O}}1 {õ}{{\~o}}1
{œ}{{\oe}}1 {Œ}{{\OE}}1 {æ}{{\ae}}1 {Æ}{{\AE}}1 {ß}{{\ss}}1
{ű}{{\H{u}}}1 {Ű}{{\H{U}}}1 {ő}{{\H{o}}}1 {Ő}{{\H{O}}}1
{ç}{{\c c}}1 {Ç}{{\c C}}1 {ø}{{\o}}1 {å}{{\r a}}1 {Å}{{\r A}}1
{€}{{\euro}}1 {£}{{\pounds}}1 {«}{{\guillemotleft}}1
{»}{{\guillemotright}}1 {ñ}{{\~n}}1 {Ñ}{{\~N}}1 {¿}{{?`}}1
{á}{{\'a}}1 {č}{{\v{c}}}1 {ď}{{\v{d}}}1 {é}{{\'e}}1 {ě}{{\v{e}}}1
{í}{{\'i}}1 {ň}{{\v{n}}}1 {ó}{{\'o}}1 {ř}{{\v{r}}}1 {š}{{\v{s}}}1
{ť}{{\v{t}}}1 {ú}{{\'u}}1 {ů}{{\r{u}}}1 {ý}{{\'y}}1 {ž}{{\v{z}}}1
{Á}{{\'A}}1 {Č}{{\v{C}}}1 {Ď}{{\v{D}}}1 {É}{{\'E}}1 {Ě}{{\v{E}}}1
{Í}{{\'I}}1 {Ň}{{\v{N}}}1 {Ó}{{\'O}}1 {Ř}{{\v{R}}}1 {Š}{{\v{S}}}1
{Ť}{{\v{T}}}1 {Ú}{{\'U}}1 {Ů}{{\r{U}}}1 {Ý}{{\'Y}}1 {Ž}{{\v{Z}}}1
}
Pro sazbu matematiky se hodí balíčky, vyvinuté kdysi lidmi z American Mathematical Society (AMS). Standardně používám
amsmath. Kromě toho využívám oprav, zaváděných v balíčku mathtools, plus některých vychytávek v něm (jako je sazba mocnin či operátorů nulové tloušťky pomocí \mathrlap
a \mathllap
).
\usepackage{mathtools} % loads amsmath automatically
Pravidla matematické sazby praví, že matice sázíme vždy tučně a velkými písmeny, vektory tučně a malými (a jsou sloupcové), konstanty verzálkami. Verzálky platí i pro symbol derivování.
V české sazbě bychom měli používat pro matice a vektory bezpatkové tučné znaky.
Pro sazbu "textových" komponent používám rád příkaz \text{...}
, který je definovaný v balíčku amsmath.
Takže například:
% -----------------------------------------------------------------------------
% http://tex.stackexchange.com/questions/77640/bold-italic-and-sans-serif-math-symbols
% math sans-serif bold requires T1 fonts or \usepackage{lmodern}
% -----------------------------------------------------------------------------
\usepackage{lmodern}
\DeclareMathAlphabet{\mathbfsf}{\encodingdefault}{\sfdefault}{bx}{n}
% -----------------------------------------------------------------------------
% Vector, matrix, transposes and inverse
% -----------------------------------------------------------------------------
\newcommand{\mtx}[1]{\mathbfsf{#1}}
\newcommand{\vct}[1]{\mtx{#1}}
\newcommand{\transpose}[1]{{#1}^\text{T}} % transpose of vector or matrix
\newcommand{\invmtx}[1]{\mtx{#1}^{-1}} % inverse matrix
\newcommand{\mtxt}[1]{\transpose{\mtx{#1}}} % transposed matrix
\newcommand{\vctt}[1]{\transpose{\vct{#1}}} % transposed vector
% -----------------------------------------------------------------------------
% Statistical distributions
% -----------------------------------------------------------------------------
\newcommand{\distr}[1]{\mathcal{#1}}
% -----------------------------------------------------------------------------
% Derivatives
% -----------------------------------------------------------------------------
\newcommand{\dd}{\text{d}}
\newcommand{\dt}[1]{#1'}
\newcommand{\dtt}[1]{#1''}
\newcommand{\ddt}[1]{\frac{\dd}{\td}#1}
\newcommand{\ddx}[1]{\frac{\dd}{\xd}#1}
\newcommand{\ddp}[1]{\frac{\dd}{\dd{p}}#1}
\newcommand{\ddtt}[1]{\frac{\dd^2}{\dd{t^2}}#1}
\newcommand{\taud}{\,\dd{\tau}}
\newcommand{\td}{\dd{t}}
\newcommand{\xd}{\dd{x}}
% --------------------------------------------------------------
% Mathematical constants
% --------------------------------------------------------------
\newcommand{\emath}{\text{e}}
\renewcommand{\imath}{\text{i}}
\renewcommand{\jmath}{\text{j}}
% --------------------------------------------------------------
% Sets
% --------------------------------------------------------------
% Generic set of some elements
\newcommand{\elemset}[1]{\mathcal{#1}}
% Numerical set (real, complex, integer, natural)
\newcommand{\numset}[1]{\mathbb{#1}}
A ještě něco předdefinovaných operací, které ve standardním LaTeXu zavedené nejsou.
% --------------------------------------------------------------
% Matematické operátory
% --------------------------------------------------------------
\DeclareMathOperator{\mmod}{mod} % modulo
\DeclareMathOperator{\dlog}{dlog} % diskrértní logaritmus
\DeclareMathOperator{\sgn}{sgn} % signum (znaménko)
\DeclareMathOperator{\erfc}{erfc} % komplementární chybová funkce
\DeclareMathOperator{\var}{var} % rozptyl
\DeclareMathOperator{\bias}{bias} % vychýlení, zkreslení
\DeclareMathOperator{\cov}{cov} % kovariance
\DeclareMathOperator{\expect}{E} % expected value
\DeclareMathOperator{\adj}{adj} % adjungovaná matice
\DeclareMathOperator{\mtxspan}{span} % span matice
\DeclareMathOperator{\diag}{diag} % diagonála matice
\DeclareMathOperator{\cond}{cond} % číslo podmíněnosti
\DeclareMathOperator{\stderr}{SE} % standard error
\DeclareMathOperator{\RSS}{RSS} %
\DeclareMathOperator{\RSE}{RSE} %
\DeclareMathOperator{\TSS}{TSS} %
\DeclareMathOperator{\MSE}{MSE} %
\DeclareMathOperator{\SE}{SE} %
\DeclareMathOperator{\CV}{CV} %
\DeclareMathOperator{\WCV}{WCV} % within cluster variance
\DeclareMathOperator{\Ave}{average} %
\let\Pr\relax
\DeclareMathOperator{\Pr}{P} % probability
\DeclareMathOperator{\sigmoid}{\sigma} % sigmoid function in ANNs
\DeclareMathOperator{\score}{score}
\DeclareMathOperator{\rank}{rank}
% --------------------------------------------------------------
% Skalární součin (vyžaduje mathtools)
% --------------------------------------------------------------
\DeclarePairedDelimiterX{\inner}[2]{\langle}{\rangle}{#1, #2}