Waynův tutoriál k systému LaTeX a všeho okolo

Zobrazit PDF

Jedná se o pokračování příspěvku Dokument ve blocích, kdy jsem polofunkční kód a upravil jsem je do znovupoužitelných maker. Což usnadnilo čtení kódu i jeho psaní.

Preambule

\documentclass{article}
\usepackage[czech]{babel}
\usepackage{geometry}
\geometry{a4paper, margin=2cm}
\usepackage{enumitem}
\usepackage{parskip}
\usepackage{nopageno}
\usepackage{xcolor}
\usepackage[enable]{darkmode}
\usepackage{mdframed}
\usepackage{lmodern}
\usepackage[fixed]{fontawesome5}
\usepackage{lipsum}

Balíčky by měly být shodné s původním dokumentem, až na přidaný balíček lipsum sloužící pro ukázku, jak se text chová uvnitř boxů.

Další nastavení

\usepackage{titlesec}
\titlespacing*{\section}{0pt}{0pt}{0pt}
\titlespacing*{\subsection}{0pt}{0pt}{0pt}

\definecolor{WPP}{HTML}{00FFFF} %cyan
\definecolor{WPP}{HTML}{0066CC} %blue
\definecolor{WPP}{HTML}{C9A12A} %gold
\definecolor{WPP}{HTML}{EC2B2B} %red

\setlist[itemize]{label=\textcolor{WPP}{$\hookrightarrow$}} %\textbullet \faGreaterThan

\definecolor{DP}{HTML}{293133}

\titlespacing slouží pro úpravu odsazení kolem názvů sekcí. V tomto případě jejich smazání.

Několikrát po sobě zmíněná barva WPP nahrazuje azurovou barvu z původního dokumentu. Vždy se použije poslední zmíněná barva, tedy zakomentováním nebo prohozením pořadí se dá jednoduše změnit barva celého dokumentu.

\setlist zaměňuje klasický puntík pro list položek za symbol dle volby a barvy WPP.

Barva DP je pak definovaná, aby potřebná pozadí měla stejnou barvu, jako papír samotný. Kdybyste chtěli vypnout tmavý mód, tak stačí DP přenastavit na bílou, FFFFFF a bílé pozadí se nastaví všude, kde do té doby bylo tmavé (a samozřejmě musíte vymazat [enable] z \usepackage[enable]{darkmode}).

Vlastní příkazy

\NewDocumentCommand{\wextbf}{m}{%
{\subsection*{\vspace{-6pt}\hspace{-7pt}\noindent\colorbox{WPP}{\color{DP}{#1}}}}
}

Napíše podsekci do čtverce stejné barvy, jako dokument, dle momentální barvy WPP.


\NewDocumentCommand{\textbw}{m}{%
	{\color{WPP}{#1}}
}

Když chcete text zvýraznit pouze barvou.


\NewDocumentCommand{\wemph}{m}{%
	{\color{WPP}\emph{#1}}
}

Pro text zvýrazněný kurzívou a barvou.


\NewDocumentCommand{\mysection}{m m}{%
	\setlength\fboxsep{4pt} % spacing around box contents
	\section*{\colorbox{DP}{\makebox[\dimexpr\textwidth-2\fboxsep\relax]{\color{WPP}#1\hfill#2}}}\vspace{-3pt}
}

Napíše sekci přes celou délku stránky, hlavní název patří do 1. argumentu a dodatečný text do 2. argumentu.


\NewDocumentCommand{\waybox}{m m}{%
\begin{mdframed}[backgroundcolor=DP,%
	linecolor=WPP,%
	linewidth=2pt,%
	innertopmargin=5pt,%
	innerbottommargin=5pt,%
	innerleftmargin=5pt,%
	innerrightmargin=5pt]\color{white}%
	\wextbf{#1}\par%
	#2%
\end{mdframed}%
}

Automatická tvorba bloků textu, kdy do 1. argumentu patří název podsekce, pro kterou to využívá \wextbf a do 2. argumentu náleží obsah bloku.


\NewDocumentCommand{\wayitem}{m m}{%
\begin{itemize}[leftmargin=*]\setlength\itemsep{#2}%
	#1%
\end{itemize}%
}

Upravené prostředí itemize, kde do 1. argumentu patří jednotlivé položky listu a do 2. argumentu patří hodnota oddělení mezi řádky položek.


\NewDocumentCommand{\wtem}{m}{%
\item \textbw{#1} --%
}

Příkaz vytvořený specificky pro využití v rámci \wayitem, kdy to jednotlivé položky napíše zvýrazněné.

Možné použití

\begin{document}\fontsize{10pt}{10pt}\selectfont\setlength\parindent{0em}
	\mysection{Section1}{template darkmode with block function}
	\waybox{Subsection1}{
	\lipsum[1]}
	\waybox{Subsection2}{
		Some basically random text, but with emphasis \wemph{here} amd \wemph{there}.
		\wayitem{
		\wtem{Item1} something something
		\wtem{Item2} something else
		}{-4pt}}
	\mysection{Section2}{}
	\waybox{Another subsection}{
	\lipsum[2]
	\wayitem{
	\wtem{Something} something
	\wtem{Else} else
	}{-4pt}}
\end{document}

Zde jen na ukázku, jak dané příkazy používám v praci. Kód je díky tomuto zjednodušený a i samotný soubor pak není tak dlouhý.

Hotové pdf

darkmode-s-bloky

Celý kód

template.tex

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

+