Skip to content
Snippets Groups Projects
Commit 6b61aa64 authored by Martin Mareš's avatar Martin Mareš
Browse files

Verze z diskuse z 2021-09

parents
No related branches found
No related tags found
No related merge requests found
File added
File added
File added
File added
mff.cls 0 → 100644
%
% Hlavičkový papír MFF UK (LaTeXová šablona)
% Autoři: Martin Trčka, Martin Mareš
% Verze: 2021-09-07
%
% Použití šablony:
%
% - Pro zpracování šablony je potřeba použít XeTeX (XeLaTeX) nebo LuaLaTeX, protože
% pomocí nich (resp. balíčku fontspec) se načítá font Cambria (font je součástí
% např. MS Office verze 2007 a novější). Pokud font Cambria není ve vašem systému
% nainstalovaný, použije se substituční font.
%
% Pokud font Cambria v systému nemáte, nebo ho nechcete použít, je možné odpovídající
% příkazy zakomentovat a pro zpracování použít jen LaTeX. Jde o tyto dva příkazy:
% \RequirePackage{fontspec}
% \IfFontExistsTF{Cambria}{...}{}
%
% - Přesuňte se níže do části označené "TEXT DOPISU" (je úplně dole) a tam začněte psát.
%
% - Kódování textu je UTF-8.
%
% - Šablona používá tyto balíčky: babel, fontenc, fontspec, graphicx, xcolor, fancyhdr,
% geometry (některé z nich možná budete potřebovat doinstalovat).
%
% - Součástí šablony je i logo (soubor logotyp_mff_cs.pdf), které má být ve stejném
% adresáři jako *.tex soubor. Pokud vám toto umístění nevyhovuje, lze ho pomocí makra
% \graphicspath změnit - viz ukázka u samotného makra níže.
%
% ====================================================================
% PŘEDPISY
% ====================================================================
%
% Pravidla jednotného vizuálního stylu Univerzity Karlovy (verze 4. 1. 2017)
% (dále jen "PJVSUK")
%
% Kodifikace červené barvy (str. 5):
% RGB: R = 210, G = 45, B = 64
%
% 5.2.2 Dopisní papír – fakulty a další součásti s vlastním znakem (str. 52):
% - průměr znaku 25 mm
% - umístění výhradně v levém horním rohu dopisního papíru
% - ochranná zóna 9 mm
% - Pro text dopisu je vhodné užít písmo Cambria (viz s. 44).
%
% 5.2 Dopisní papír: slavnostní varianta (str. 43-47):
% - vlastní text dopisu je psán písmem Cambria ve velikosti 11,5 bodu
% - s řádkovým prokladem 1,3 (resp. 15 pt)
% - text je zarovnán vlevo, nikoli do bloku, a má aktivováno dělení slov
% - odstavce se neoddělují prázdnými řádky, ale odstavcovou zarážkou o velikosti 6 mm
% - pravý a levý okraj 20 mm
% - mezera mezi vodorovnou čárou a textem 15 mm, odsazení zápatí také 15 mm
%
% ====================================================================
% PÍSMO, JAZYK, BALÍČKY
% ====================================================================
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{mff}[2021-09-07 Hlavickovy papir MFF]
\newif\ifmffcolor
\DeclareOption{color}{\mffcolortrue}
\DeclareOption{mono}{\mffcolorfalse}
\DeclareOption*{
\ClassWarning{mff}{Unknown option '\CurrentOption'}
}
\ExecuteOptions{color}
\ProcessOptions\relax
\LoadClass[12pt]{article}
% výchozí nastavení dokumentu ať odpovídá 12pt, doladění viz níže
% TeX umí jen celočíselné velikosti (10pt, 11pt, 12pt)
% TeX pt (1/72.27 in) je o něco málo menší než Word pt (1/72 in)
%
% Pomocné balíčky pro češtinu a kódování
%
\RequirePackage[czech]{babel} % základní podpora pro češtinu, mj. správné dělení slov
\RequirePackage[T1]{fontenc} % kódování fontů - podpora pro znaky s diakritikou
\RequirePackage[utf8]{inputenc} % vstupní kódování je UTF-8
%
% Písmo (font)
%
\RequirePackage{fontspec} % řeší zahrnutí správných fontů pro LuaLaTeX a XeLaTeX
\IfFontExistsTF{Cambria}{\setmainfont[Ligatures=NoCommon]{Cambria}}{}
% pokud je v systému dostupné písmo Cambria, použije se
% důvod vypnutí běžných slitků (fi, ff, ...): s nimi bohužel funguje špatně
% vyhledávání a kopírování textu ve výsledném PDF (a slitky u fontu
% Cambria zde stejně nefungují)
% základní velikost písma (12pt) je definována už v rámci \documentclass nahoře
%
% Pomocné balíčky pro grafiku
%
\RequirePackage{graphicx} % pro načtení loga MFF
\graphicspath{{./}} % cesta relativní k hlavnímu souboru *.tex (změňte, je-li třeba)
\RequirePackage{xcolor} % možnost definice vlastních barev
\ifmffcolor
\definecolor{barvauk}{RGB}{210,45,64} % barva dle PJVSUK
\else
\definecolor{barvauk}{RGB}{0,0,0}
\fi
\RequirePackage[]{geometry} % pro definici formátu stránky a okrajů
% ====================================================================
% ZÁHLAVÍ A ZÁPATÍ
% ====================================================================
%
% Makro \zahlavi - vykreslí záhlaví první stránky (logotyp MFF)
%
\def\zahlavi{
% pomocné makro
\def\logomff{ % obrázek loga MFF
\includegraphics[scale=0.70]{logotyp_mff_cs}
% faktor zmenšení 0.70 odpovídá průměru loga 25 mm (PJVSUK)
}
{
\parindent=0pt
% kvůli velkým prázdným okrajům PDF loga je třeba ho posunout
\hbox{%
\vrule width 0pt % opora pro kern
\kern-7mm % horizontální posun loga (doleva)
\vbox to 16mm{\hsize=15cm\hrule width 0pt\kern-23mm % vertikální posun loga (nahoru)
\logomff
\vss % kompenzace příliš vysokého obrázku
}%
}
}
\thispagestyle{fancy}% nastaví jiné zápatí první stránky (adresa pracoviště)
}
%
% Makro \zapatí - vykreslí zápatí první stránky (info pracoviště)
%
\def\zapati{%
% pomocné makro
\def\pracoviste{% pracoviště - je doplněno PHP skriptem (CMS MFF)
@PRAC \\
@ADRESA \\
@MAIL \\
@TEL
}
% zápatí
{%
\vspace{1\baselineskip}% % odsazení od textu je o jeden řádek větší
\footnotesize\textsf{% % malé písmo, sans-serif
\pracoviste
}
}
}
%
% Změna velikosti zápatí po první stránce (prodloužení o 2 cm)
% Autor: Oldřich Ulrych
%
{% změny (zejm. catcode) budou jen lokální
\catcode`\@=11% zavináč je písmeno (aby šlo udělat proměnnou zaloha@makecol)
\global\let\zaloha@makecol=\@makecol% zapamatování staré sekvence makecol
\global\def\@makecol{% nový makecol je...
\zaloha@makecol% starý makecol a poté...
\global\advance \textheight by 2cm% změna velikosti zápatí (stránky)
\global\let\@makecol=\zaloha@makecol% návrat k původnímu makecol
}%
}%
%
% Nastavení zápatí (fancyhdr)
%
\RequirePackage{fancyhdr}
\fancyhf{} % odstranit vše ze záhlaví a zápatí
\renewcommand{\headrulewidth}{0pt} % odstranit i čáry
\renewcommand{\footrulewidth}{0pt} % odstranit i čáry
\headheight=15pt % aby fancyhdr nehlásil warning o nedostatečné výšce
\fancyfoot[L]{
\zapati
}
% ====================================================================
% ADRESA, DATUMACJ
% ====================================================================
%
% Makro \adresa - vykreslí (naformátuje) adresu (tj. včetně rámečku a linky pod ní)
% parametr: text pro vykreslení
%
% Rámeček je dle vzoru v PJVSUK:
% - šířka rámečku cca 80 mm
% - čáry rámečku délka 8 mm
%
% Další parametry zvoleny odhadem:
% - tloušťka čar 0.75pt
% - výška rámečku (vzdálenost od čáry) 53mm
%
\newcommand{\adresa}[1]{
% pomocná makra
\def\vcaravodorovna{{\color{barvauk}\vrule height 0.75pt width 8mm depth 0pt}}%
\def\vcaradolu{{\color{barvauk}\vrule height 0cm width 0.75pt depth 8mm}}%
\def\mezera{\kern5mm}% mezera mezi rámečkem a textem
\def\hneviditelna{\hrule height 0pt depth 0pt\relax}% neviditelná hrule, aby se měla o co "opřít" mezera
% box aby šlo zarovnat rámeček s adresou doprava
\hbox to \hsize{%
\hfil % výplň vlevo
\vbox to 59mm{\hsize=82mm% | box pro horní čáry a pod nimi obsah
\hbox to 82mm{% - box pro - čáru, mezeru a - čáru
\vcaravodorovna \hfil \vcaravodorovna
}%
\nointerlineskip
\hbox to 82mm{% - box pro | čáru, mezeru, obsah, mezeru | čáru
\vcaradolu%
\mezera%
\vtop{\hsize=70mm%
\parskip=0pt\parindent=0pt\baselineskip=15pt%
\hneviditelna % opora mezery
\mezera
#1% text adresy
}%
\hss % \hsize je o tloušťku čar větší - kompenzace
\mezera
\vcaradolu
}
\vfil
}%
}%
\nointerlineskip
% vodorovná červená linka
\hbox{%
{\color{barvauk}\vrule height 0.75pt depth 0pt width 20cm} % až za okraj papíru
\hss% kompenzace nadměrné délky linky
}
\vspace{2mm} % odsazení data a č. j. od čáry
}
%
% Makro \datumacj - vykreslí (naformátuje) datum a číslo jednací
% parametr: text pro vykreslení
%
\newcommand{\datumacj}[1]{
{
\parskip=0pt
\rightskip=0pt
\parfillskip=0pt % glue na poslední řádek
\leftskip=0pt plus 1fill\relax % zarovnání doprava
\baselineskip=1.5\baselineskip
#1\relax
\par
}
\bigskip
}
% ====================================================================
% FORMÁTOVÁNÍ STRÁNKY A TEXTU
% ====================================================================
%
% Formát stránky, okraje
%
\geometry{
a4paper,
top=2cm,
right=2.1cm,
bottom=5cm, % pro první stránku, pak se zmenší (viz makecol)
left=2.9cm,
}
%
% Formátování odstavců
%
% \linespread{1.25} % řádkování
\parindent=0mm % bez odsazení prvního řádku odstavce
\parskip=12pt % mezera mezi odstavci
\raggedright % zarovnání textu doleva
%
% Trocha typografie...
%
\clubpenalty=10000 % zákaz osamocených řádků na konci stránky (sirotky)
\widowpenalty=10000 % zákaz osamocených řádků na začátku stránky (vdovy)
test.tex 0 → 100644
\documentclass{mff}
\begin{document}
% Záhlaví s logem MFF
\zahlavi
% Rámeèek s adresou
\adresa{
% Doporuèené vzory psaní po¹tovních adres:
% https://www.ceskaposta.cz/rady-a-navody/jak-spravne-nadepsat-zasilku
Adresát \\
Ulice \\
PSÈ Mìsto \\
}
% Datum a èíslo jednací
\datumacj{
V Praze dne \today \\
È. j.: \\
}
Zde napi¹te text dopisu.
Where does it come from?
Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature from 45 BC, making it over 2000 years old. Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the cites of the word in classical literature, discovered the undoubtable source. Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of "de Finibus Bonorum et Malorum" (The Extremes of Good and Evil) by Cicero, written in 45 BC. This book is a treatise on the theory of ethics, very popular during the Renaissance. The first line of Lorem Ipsum, "Lorem ipsum dolor sit amet..", comes from a line in section 1.10.32.
The standard chunk of Lorem Ipsum used since the 1500s is reproduced below for those interested. Sections 1.10.32 and 1.10.33 from "de Finibus Bonorum et Malorum" by Cicero are also reproduced in their exact original form, accompanied by English versions from the 1914 translation by H. Rackham.
Where does it come from?
Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature from 45 BC, making it over 2000 years old. Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the cites of the word in classical literature, discovered the undoubtable source. Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of "de Finibus Bonorum et Malorum" (The Extremes of Good and Evil) by Cicero, written in 45 BC. This book is a treatise on the theory of ethics, very popular during the Renaissance. The first line of Lorem Ipsum, "Lorem ipsum dolor sit amet..", comes from a line in section 1.10.32.
The standard chunk of Lorem Ipsum used since the 1500s is reproduced below for those interested. Sections 1.10.32 and 1.10.33 from "de Finibus Bonorum et Malorum" by Cicero are also reproduced in their exact original form, accompanied by English versions from the 1914 translation by H. Rackham.
Where does it come from?
Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature from 45 BC, making it over 2000 years old. Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the cites of the word in classical literature, discovered the undoubtable source. Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of "de Finibus Bonorum et Malorum" (The Extremes of Good and Evil) by Cicero, written in 45 BC. This book is a treatise on the theory of ethics, very popular during the Renaissance. The first line of Lorem Ipsum, "Lorem ipsum dolor sit amet..", comes from a line in section 1.10.32.
The standard chunk of Lorem Ipsum used since the 1500s is reproduced below for those interested. Sections 1.10.32 and 1.10.33 from "de Finibus Bonorum et Malorum" by Cicero are also reproduced in their exact original form, accompanied by English versions from the 1914 translation by H. Rackham.
Where does it come from?
Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature from 45 BC, making it over 2000 years old. Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the cites of the word in classical literature, discovered the undoubtable source. Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of "de Finibus Bonorum et Malorum" (The Extremes of Good and Evil) by Cicero, written in 45 BC. This book is a treatise on the theory of ethics, very popular during the Renaissance. The first line of Lorem Ipsum, "Lorem ipsum dolor sit amet..", comes from a line in section 1.10.32.
The standard chunk of Lorem Ipsum used since the 1500s is reproduced below for those interested. Sections 1.10.32 and 1.10.33 from "de Finibus Bonorum et Malorum" by Cicero are also reproduced in their exact original form, accompanied by English versions from the 1914 translation by H. Rackham.
\end{document}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment