1
0
Fork 0
mirror of https://gitlab.com/netravnen/NetworkLabNotes.git synced 2024-10-30 17:59:38 +00:00
NetworkLabNotes/structure.tex

311 lines
9.3 KiB
TeX
Raw Permalink Normal View History

% !TeX TS-program =
% !TeX spellcheck = en_DK
% !TeX encoding = UTF-8
% !TeX root = main.tex
% Latex Packages
2023-10-18 08:58:28 +00:00
\usepackage{amsmath,amssymb} % math things.
\usepackage{array}
\usepackage[english]{babel}
\usepackage{blindtext}
\usepackage{caption}
\usepackage{chngcntr}
\usepackage{color} % makes custom color codes available.
\usepackage[showisoZ]{datetime2} % more options for time formatting.
\usepackage{dblfnote} % https://tex.stackexchange.com/a/8180
\usepackage{enumitem} % makes available changes to lists.
\usepackage{epigraph} % used to style quotes
\usepackage{expdlist}
\usepackage{fancybox} % styling of boxes.
\usepackage{fancyhdr}
\usepackage{float}
\usepackage[T1]{fontenc}
2023-10-18 08:58:28 +00:00
\usepackage{fourier}
\usepackage{geometry}
\usepackage[toc,acronym,nomain]{glossaries} % Load the package with the acronym option
2023-10-18 12:56:32 +00:00
\usepackage{glossaries-extra}
\usepackage{graphicx}
2023-10-18 08:58:28 +00:00
\usepackage[unicode=false,colorlinks=true,linkcolor=darkgray,citecolor=darkgray,filecolor=darkgray,urlcolor=darkgray]{hyperref} % https://en.wikibooks.org/wiki/LaTeX/Hyperlinks
\usepackage{inconsolata}
\usepackage[utf8]{inputenc}
\usepackage{lipsum}
\usepackage{listings}
\usepackage{lmodern}
\usepackage{makecell}
\usepackage[toc]{multitoc}
2017-09-18 20:39:24 +00:00
\usepackage[numbers,square,sectionbib,comma,nonamebreak,elide]{natbib} % used with layout for bibliography section.
2023-10-18 08:58:28 +00:00
\usepackage{parskip}
\usepackage{soul}
\usepackage{textcomp}
\usepackage[usenames,dvipsnames,svgnames]{xcolor} % makes custom color codes available. MUST for some reason be above tikzsymbols.
2023-10-18 08:58:28 +00:00
\usepackage{tikzsymbols} % http://ctan.math.utah.edu/ctan/tex-archive/graphics/pgf/contrib/tikzsymbols/tikzsymbols.pdf
\usepackage{titlepic}
\usepackage{titling} % makes available \thetitle \theauthor \thedate
2023-10-18 08:58:28 +00:00
\usepackage[nottoc]{tocbibind}
\usepackage{transparent}
\usepackage{url} % cmd \url.
\usepackage{varwidth}
\usepackage{wrapfig}
\renewcommand*{\multicolumntoc}{3} % https://tex.stackexchange.com/a/6455
\newcounter{qcounter}
\catcode`\_=12
% styles list is available at
% https://www.sharelatex.com/learn/Natbib_bibliography_styles
\bibliographystyle{unsrtnat}
% Path where images are located relative
% to the file main.tex
\graphicspath{{img/}{figures/}}
% In which order to look after images in
% declared graphicspath{}'s
% 1. Low-quality JPG
% 2. Med-quality PNG
% 3. High-quality PDF
\DeclareGraphicsExtensions{.jpg,.png,.pdf}
\fancypagestyle{fancybook}{%
\fancyhf{}%
% Note the ## here. It's required because \fancypagestyle is making a macro (\ps@fancybook).
% If we just wrote #1, TeX would think that it's the argument to \ps@fancybook, but
% \ps@fancybook doesn't take any arguments, so TeX would complain with an error message.
% You are not expected to understand this.
\renewcommand*{\sectionmark}[1]{ \markright{\thesection\ ##1} }%
\renewcommand*{\chaptermark}[1]{ \markboth{\chaptername\ \thechapter: ##1}{} }%
% Increase the length of the header such that the folios
% (typography jargon for page numbers) move into the margin
\fancyhfoffset[LE]{6mm}% slightly less than 0.25in
\fancyhfoffset[RO]{6mm}%
% Put some space and a vertical bar between the folio and the rest of the header
2017-06-10 13:40:31 +00:00
\fancyhead[LE]{\color{Black}\thepage\color{Gray}\hskip3mm\vrule\hskip3mm\leftmark}%
\fancyhead[RE]{\color{Gray}{\tiny Generated \utccurrenttime}}%
2017-06-10 13:40:31 +00:00
\fancyhead[RO]{\color{Gray}\rightmark\hskip3mm\vrule\hskip3mm\color{Black}\thepage}%
\fancyhead[LO]{\color{Gray}{\tiny \theauthor}}%
}
\pagestyle{fancybook}
% Use the roman numeric system for pagenumbers
\pagenumbering{Roman}
\input{commands} % Import user-defined commands
\input{layout/color} %user-defined colors
% https://tex.stackexchange.com/a/174553
\lstdefinestyle{mystyle}{
language=cisco,
backgroundcolor=\color{backcolour},
commentstyle=\color{codegreen}\ttfamily,
keywordstyle=\color{magenta},
numberstyle=\tiny\color{codegray},
stringstyle=\color{codepurple},
basicstyle=\scriptsize\ttfamily,
breakatwhitespace=false,
breaklines=true,
captionpos=b,
keepspaces=true,
numbers=left,
showspaces=false,
showstringspaces=false,
showtabs=false,
tabsize=4,
abovecaptionskip=1em,
2017-05-31 20:31:14 +00:00
aboveskip=1em,
belowcaptionskip=1em,
belowskip=3em,
upquote=true,
numbersep=8pt,
rulecolor=\color{black},
}
2017-05-30 20:25:51 +00:00
2017-05-30 19:51:17 +00:00
\lstdefinestyle{plaintxt}{
language=TeX,
numbers=none,
frame=trBL,
frameround=fttt,
backgroundcolor=\color{white},
2017-05-30 20:25:51 +00:00
boxpos=c,
}
\lstdefinelanguage{cisco}{
keywords={
end,
interface,
2017-05-30 20:25:51 +00:00
ip,
line,
no,
router,
show,
shutdown,
vlan,
2017-06-06 05:13:58 +00:00
vrf
2017-05-30 20:25:51 +00:00
},
keywordstyle=\color{blue}\bfseries,
ndkeywords={
addr,
address,
deny,
enable,
fa,
FastEthernet,
gi,
2017-05-30 20:25:51 +00:00
GigabitEthernet,
permit,
remark,
run,
2017-06-06 05:13:58 +00:00
view,
2017-05-30 20:25:51 +00:00
},
ndkeywordstyle=\color{darkgray}\bfseries,
identifierstyle=\color{black},
sensitive=false,
comment=[l]{!},
commentstyle=\color{purple}\ttfamily,
stringstyle=\color{red}\ttfamily,
caption=\lstname,
tabsize=1,
captionpos=t,
showstringspaces=false,
breaklines=true,
breakatwhitespace=true,
2017-05-30 19:51:17 +00:00
}
\geometry{a4paper,margin=1.25cm}
\setlength{\columnsep}{1.25cm} %space between columns
\setlength{\headheight}{15pt}
\setlength{\footnotesep}{1mm} %space between footnotes:
\setlength{\skip\footins}{1.25cm} %space between the text body and the footnotes
\setlist[itemize,1]{leftmargin=\dimexpr 26pt-.2cm}
\setlist[itemize,2]{leftmargin=\dimexpr 26pt-.3cm}
\lstset{style=mystyle} %apply lst styling
\renewcommand{\familydefault}{\sfdefault}
\DeclareCaptionFormat{myformat}{%
% #1: label (e.g. "Table 1")
% #2: separator (e.g. ": ")
% #3: caption text
\begin{varwidth}{\linewidth}%
\centering
#1#2#3%
\end{varwidth}%
}
\captionsetup{format=myformat}% global activation
\newlist{todolist}{itemize}{2}
\setlist[todolist]{label=$\square$}
\usepackage{pifont}
\newcommand{\cmark}{\ding{51}}%
\newcommand{\xmark}{\ding{55}}%
\newcommand{\done}{\rlap{$\square$}{\raisebox{2pt}{\large\hspace{1pt}\cmark}}%
\hspace{-2.5pt}}
\newcommand{\wontfix}{\rlap{$\square$}{\large\hspace{1pt}\xmark}}
\renewcommand\theadalign{cb}
\renewcommand\theadfont{\bfseries}
\renewcommand\theadgape{\Gape[4pt]}
\renewcommand\cellgape{\Gape[4pt]}
\def\tsq#1{\textquotesingle{#1}}
\def\bsq#1{%both single quotes
\lq{#1}\rq}
2017-06-01 14:20:10 +00:00
\makeglossaries % Generate the glossary
2017-06-01 15:25:44 +00:00
\renewcommand*{\acronymname}{Abbreviations}
% Do not reset counter for footnotes at all
% through the document from start to finish.
% https://tex.stackexchange.com/a/10449
\counterwithout{footnote}{chapter}
% Do not reset counter for figures at all
% through the document from start to finish.
% https://tex.stackexchange.com/a/28334
\counterwithout{figure}{chapter}
% Do not reset counter for tables at all
% through the document from start to finish.
% https://tex.stackexchange.com/a/28020
\counterwithout{table}{chapter}
% Set footnote numeration
% https://www.sharelatex.com/learn/Footnotes
% This command need to be run AFTER
% "\counterwithout{footnote}{chapter}" for the
% changes to be able to take effect.
\renewcommand{\thefootnote}{\arabic{footnote}}
\addtolength{\skip\footins}{2pt} % vertical space between rule and main text
% https://tex.stackexchange.com/a/141975
\let\origfootnote\footnote % font size of footnotes; changes \footnotesize command only inside footnotes!
\renewcommand{\footnote}[1]{%
\renewcommand\footnotesize\scriptsize % here there is scriptsize in footnotes (example)
\origfootnote{#1}}
2017-06-24 11:03:04 +00:00
% https://tex.stackexchange.com/a/146312
\newlist{mylist}{enumerate*}{1}
\setlist[mylist]{label={\alph*)},font={\color{red!25!black}\bfseries}}
% https://cscrunch.com/blog/corey-pennycuff/scripting-latex-create-base-conversion-worksheet
\def\colwidth{.42cm}
\newcommand{\baseconvertpractice}[2]{% number, # to not censor (1-3, or 0 for none)
\renewcommand\arraystretch{2}
\FPeval{\num}{#1}%
\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}r|*{8}{>{\centering}p{\colwidth}|}|*{8}{>{\centering}p{\colwidth}|}@{}c@{}} \cline{2-17}%
Decimal & \multicolumn{16}{ r| }{\censorifnotequal{\num}{#2}{1}} &\\ \cline{2-17}%
Binary & \censorifnotequal{\getdigit{\num}{16}{2}}{#2}{2} &%
\censorifnotequal{\getdigit{\num}{15}{2}}{#2}{2} &%
\censorifnotequal{\getdigit{\num}{14}{2}}{#2}{2} &%
\censorifnotequal{\getdigit{\num}{13}{2}}{#2}{2} &%
\censorifnotequal{\getdigit{\num}{12}{2}}{#2}{2} &%
\censorifnotequal{\getdigit{\num}{11}{2}}{#2}{2} &%
\censorifnotequal{\getdigit{\num}{10}{2}}{#2}{2} &%
\censorifnotequal{\getdigit{\num}{9}{2}}{#2}{2} &%
\censorifnotequal{\getdigit{\num}{8}{2}}{#2}{2} &%
\censorifnotequal{\getdigit{\num}{7}{2}}{#2}{2} &%
\censorifnotequal{\getdigit{\num}{6}{2}}{#2}{2} &%
\censorifnotequal{\getdigit{\num}{5}{2}}{#2}{2} &%
\censorifnotequal{\getdigit{\num}{4}{2}}{#2}{2} &%
\censorifnotequal{\getdigit{\num}{3}{2}}{#2}{2} &%
\censorifnotequal{\getdigit{\num}{2}{2}}{#2}{2} &%
\censorifnotequal{\getdigit{\num}{1}{2}}{#2}{2} &\\ \cline{2-17}%
Hexadecimal & \multicolumn{4}{c|}{\censorifnotequal{\getdigit{\num}{4}{16}}{#2}{3}} &%
\multicolumn{4}{c||}{\censorifnotequal{\getdigit{\num}{3}{16}}{#2}{3}} &%
\multicolumn{4}{c|}{\censorifnotequal{\getdigit{\num}{2}{16}}{#2}{3}} &%
\multicolumn{4}{c|}{\censorifnotequal{\getdigit{\num}{1}{16}}{#2}{3}} &\\ \cline{2-17}%
\end{tabular*}%
}