Merge best of both: article+11pt+cs babel, ltablex, ragged2e Y column, mdbook styling

This commit is contained in:
2026-02-20 09:32:47 +01:00
parent b5b2cd1a30
commit ef9b44c45c

View File

@@ -1,96 +1,103 @@
#+TITLE: Document Title
#+AUTHOR: Martin Sukany
#+DATE: \today
#+OPTIONS: toc:2 num:t H:4 ^:nil
#+LANGUAGE: cs
#+OPTIONS: toc:2 num:t H:4 ^:nil tags:nil
# ── LaTeX class ───────────────────────────────────────────────────────────────
#+LATEX_CLASS: report
#+LATEX_CLASS_OPTIONS: [a4paper,10pt]
#+LATEX_CLASS: article
#+LATEX_CLASS_OPTIONS: [a4paper,11pt]
# ── Encoding & fonts ──────────────────────────────────────────────────────────
#+LATEX_HEADER: \usepackage[utf8]{inputenc}
# ── Encoding, čeština, typografie ────────────────────────────────────────────
#+LATEX_HEADER: \usepackage[czech]{babel}
#+LATEX_HEADER: \usepackage[T1]{fontenc}
#+LATEX_HEADER: \usepackage{lmodern}
#+LATEX_HEADER: \usepackage[utf8]{inputenc}
#+LATEX_HEADER: \usepackage{microtype}
#+LATEX_HEADER: \sloppy
# ── Font (Helvetica / sans-serif jako mdbook) ─────────────────────────────────
#+LATEX_HEADER: \usepackage{helvet}
#+LATEX_HEADER: \renewcommand{\familydefault}{\sfdefault}
# ── Page geometry ─────────────────────────────────────────────────────────────
#+LATEX_HEADER: \usepackage[a4paper,margin=1in]{geometry}
#+LATEX_HEADER: \usepackage[a4paper,margin=2.2cm]{geometry}
# ── Colors ────────────────────────────────────────────────────────────────────
# ── Barvy ─────────────────────────────────────────────────────────────────────
#+LATEX_HEADER: \usepackage[table,x11names]{xcolor}
#+LATEX_HEADER: \definecolor{linkcolor}{RGB}{0,0,180}
#+LATEX_HEADER: \definecolor{tableShade}{RGB}{245,245,245}
#+LATEX_HEADER: \definecolor{lightGreen}{RGB}{240,255,240}
#+LATEX_HEADER: \definecolor{mediumGreen}{RGB}{220,255,220}
# ── Hyperlinks ────────────────────────────────────────────────────────────────
#+LATEX_HEADER: \usepackage{hyperref}
#+LATEX_HEADER: \hypersetup{colorlinks=true,linkcolor=linkcolor,urlcolor=linkcolor,citecolor=linkcolor}
#+LATEX_HEADER: \usepackage{xurl}
# ── Tables ────────────────────────────────────────────────────────────────────
#+LATEX_HEADER: \usepackage{tabularx}
#+LATEX_HEADER: \usepackage{booktabs}
#+LATEX_HEADER: \usepackage{longtable}
#+LATEX_HEADER: \usepackage{colortbl}
# ── Obrázky ───────────────────────────────────────────────────────────────────
#+LATEX_HEADER: \usepackage{graphicx}
# ── Tabulky ───────────────────────────────────────────────────────────────────
# ltablex = longtable + tabularx v jednom (dlouhé AND široké tabulky)
#+LATEX_HEADER: \usepackage{array}
#+LATEX_HEADER: \usepackage{adjustbox}
#+LATEX_HEADER: \usepackage{tabularx}
#+LATEX_HEADER: \usepackage{longtable}
#+LATEX_HEADER: \usepackage{ltablex}
#+LATEX_HEADER: \keepXColumns
#+LATEX_HEADER: \usepackage{booktabs}
#+LATEX_HEADER: \usepackage{colortbl}
#+LATEX_HEADER: \usepackage{etoolbox}
#+LATEX_HEADER: \newcolumntype{Y}{>{\centering\arraybackslash}X}
#+LATEX_HEADER: \newcolumntype{L}{>{\raggedright\arraybackslash}X}
#+LATEX_HEADER: \newcolumntype{R}{>{\raggedleft\arraybackslash}X}
#+LATEX_HEADER: \usepackage{ragged2e}
# Střídavé barvy řádků v longtable/ltablex
#+LATEX_HEADER: \AtBeginEnvironment{longtable}{\rowcolors{1}{mediumGreen}{lightGreen}}
# Typy sloupců: Y=wrap+levý, Z=wrap+střed, R=wrap+pravý
#+LATEX_HEADER: \newcolumntype{Y}{>{\RaggedRight\arraybackslash}X}
#+LATEX_HEADER: \newcolumntype{Z}{>{\Centering\arraybackslash}X}
#+LATEX_HEADER: \newcolumntype{R}{>{\RaggedLeft\arraybackslash}X}
# ── Header & footer ───────────────────────────────────────────────────────────
# ── Header & footer (jako mdbook) ─────────────────────────────────────────────
#+LATEX_HEADER: \usepackage{fancyhdr}
#+LATEX_HEADER: \usepackage{titleps}
#+LATEX_HEADER: \pagestyle{fancy}
#+LATEX_HEADER: \fancyhf{}
#+LATEX_HEADER: \lhead{\small\nouppercase{\leftmark}}
#+LATEX_HEADER: \rhead{\small\thepage}
#+LATEX_HEADER: \renewcommand{\headrulewidth}{0.4pt}
# ── Graphics ─────────────────────────────────────────────────────────────────
#+LATEX_HEADER: \usepackage{graphicx}
# ── Code blocks ──────────────────────────────────────────────────────────────
# ── Code bloky ────────────────────────────────────────────────────────────────
#+LATEX_HEADER: \usepackage{listings}
#+LATEX_HEADER: \lstset{backgroundcolor=\color{yellow!20},basicstyle=\ttfamily\small,breaklines=true,frame=single}
# ── Title page (matching mdbook template style) ───────────────────────────────
# ── Titulní strana (styl mdbook) ──────────────────────────────────────────────
#+LATEX_HEADER: \usepackage{titling}
#+LATEX_HEADER: \renewcommand{\maketitle}{%
#+LATEX_HEADER: \begin{titlepage}\centering\vspace*{\fill}%
#+LATEX_HEADER: {\LARGE\bfseries\thetitle\par}\vspace{1em}%
#+LATEX_HEADER: {\large\theauthor\par}\vspace{2em}%
#+LATEX_HEADER: {\normalsize\itshape\thedate\par}\vspace{2em}%
#+LATEX_HEADER: % Logo (odkomentuj a uprav cestu pokud ho chceš):
#+LATEX_HEADER: % \includegraphics[width=0.35\textwidth]{/abs/path/to/logo.png}\par
#+LATEX_HEADER: % Logo: odkomentuj + uprav cestu
#+LATEX_HEADER: % \includegraphics[width=0.35\textwidth]{/abs/cesta/logo.png}\par
#+LATEX_HEADER: \vspace*{\fill}\end{titlepage}}
# ─────────────────────────────────────────────────────────────────────────────
# Sem piš obsah dokumentu
# Obsah dokumentu
# ─────────────────────────────────────────────────────────────────────────────
* Introduction
* Úvod
Toto je šablona. Exportuj do PDF přes =SPC m e l p= (Doom) nebo =C-c C-e l p=.
Šablona. Export do PDF: =SPC m e l p= (Doom) nebo =C-c C-e l p=.
Tabulky fungují automaticky — nepotřebuješ přidávat =#+ATTR_LATEX= ručně,
pokud máš v =config.el= Elisp hook (viz níže).
Tabulky: bez =#+ATTR_LATEX= — stačí mít v =config.el= hook z =document-latex-setup.el=.
* Example table
* Příklad tabulky
| Název | Popis | Stav |
|--------------+--------------------------+-----------|
| Položka A | Krátký popis | Hotovo |
| Položka B | Delší popis věci | Probíhá |
| Položka C | Další položka v tabulce | Čeká |
| Název | Popis | Stav |
|-----------+-------------------------+---------|
| Položka A | Krátký popis | Hotovo |
| Položka B | Delší popis věci | Probíhá |
| Položka C | Další položka v tabulce | Čeká |
* Example code block
* Příklad kódu
#+BEGIN_SRC python
def hello():
return "Hello, World!"
return "Ahoj světe!"
#+END_SRC