2017-05-23 09:01:04 +00:00
|
|
|
% Usage: \pic[<pct-of-columnwidth>]{<path-to-file>}
|
|
|
|
\newcommand{\pic}[2][50]{
|
|
|
|
\begin{center}
|
|
|
|
\transparent{0.4}
|
|
|
|
\includegraphics[width=0.#1\columnwidth]{#2}
|
|
|
|
\end{center}
|
|
|
|
}
|
|
|
|
|
|
|
|
% Usage: \fig{<path-to-file>}{<label>}{<caption>}
|
2017-06-05 19:36:04 +00:00
|
|
|
\newcommand{\fig}[4][]{
|
2017-05-24 17:10:55 +00:00
|
|
|
\begin{figure}[h!]
|
2017-05-23 09:01:04 +00:00
|
|
|
\centering
|
2017-06-05 19:36:04 +00:00
|
|
|
\includegraphics[width=0.95\columnwidth]{#2}
|
|
|
|
%
|
|
|
|
\sbox0{#1}%
|
|
|
|
\ifdim\wd0=0pt
|
|
|
|
{\caption{#4}} %if #1 is empty
|
|
|
|
\else
|
|
|
|
{\caption{#4\\\texttt{{\scriptsize #1}}}}
|
|
|
|
\fi
|
|
|
|
%
|
|
|
|
\label{fig:#3}
|
2017-05-23 09:01:04 +00:00
|
|
|
\end{figure}
|
|
|
|
}
|
|
|
|
|
2017-06-01 09:40:35 +00:00
|
|
|
\newcommand{\xkcd}[2]{\fig{xkcd/#1}{#1}{#2\\%
|
2017-06-06 06:38:16 +00:00
|
|
|
{\tiny\MakeUppercase{https://imgs.xkcd.com/comics/#1.png}\hskip3mm%
|
2017-06-06 08:11:17 +00:00
|
|
|
License: \texttt{\href{https://creativecommons.org/licenses/by-nc/2.5/}{CC BY-NC 2.5}}%
|
2017-06-06 06:38:16 +00:00
|
|
|
}}}
|
2017-06-01 09:40:35 +00:00
|
|
|
|
2017-05-23 09:01:04 +00:00
|
|
|
% Usage: \svg{<path-to-file>}{<label>}{<caption>}
|
|
|
|
\newcommand{\svg}[3]{
|
|
|
|
\begin{figure}[h]
|
|
|
|
\centering
|
|
|
|
\includesvg{#1}
|
|
|
|
\caption{#3}
|
|
|
|
\label{fig:#2}
|
|
|
|
\end{figure}
|
|
|
|
}
|
|
|
|
|
|
|
|
\newcommand{\notice}[2]{%
|
|
|
|
\shadowbox{%
|
|
|
|
\begin{varwidth}{0.85\linewidth}
|
|
|
|
\texttt{\textbf{#1}}\\
|
|
|
|
#2
|
|
|
|
\end{varwidth}
|
|
|
|
}
|
|
|
|
}
|
2017-05-24 22:37:49 +00:00
|
|
|
|
|
|
|
\newcommand{\cliline}[2][]{\lstinline[columns=fixed,#1]{#2}}
|
|
|
|
|
|
|
|
\newcommand{\utccurrenttime}[0]{%
|
2017-05-30 13:03:30 +00:00
|
|
|
\today%
|
|
|
|
T%
|
|
|
|
\DTMcurrenttime%
|
|
|
|
\DTMfetchTZhour{now}%
|
|
|
|
:%
|
|
|
|
\DTMfetchTZminute{now}
|
|
|
|
}
|
|
|
|
|
2017-06-05 20:06:29 +00:00
|
|
|
|
|
|
|
\newcommand{\itemhead}[2][]{%
|
|
|
|
\sbox0{#1}%
|
|
|
|
\ifdim\wd0=0pt
|
|
|
|
{\textbf{#2:}} %if #1 is empty
|
|
|
|
\else
|
|
|
|
{\textbf{#2:}\\{\footnotesize #1}}
|
|
|
|
\fi
|
|
|
|
}
|
2017-06-04 17:16:36 +00:00
|
|
|
\newcommand{\itemtitle}[2]{%
|
2017-06-05 20:06:29 +00:00
|
|
|
\sbox0{#1}%
|
|
|
|
\ifdim\wd0=0pt
|
|
|
|
{\itemhead{#1}} %if #2 is empty
|
|
|
|
\else
|
|
|
|
{\itemhead[#2]{#1}}
|
|
|
|
\fi
|
2017-06-04 17:16:36 +00:00
|
|
|
}
|
2017-05-30 19:50:54 +00:00
|
|
|
|
|
|
|
|
2017-05-31 14:11:03 +00:00
|
|
|
\newcommand{\myquote}[2]{%
|
|
|
|
\sbox0{#1}%
|
|
|
|
\ifdim\wd0=0pt
|
|
|
|
{\epigraph{#2}{\textit{{\tiny \theauthor}}}} %if #1 is empty
|
|
|
|
\else
|
|
|
|
{\epigraph{#2}{\textit{#1}}} %if quote is cited
|
|
|
|
\fi
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2017-05-30 19:50:54 +00:00
|
|
|
% Enviroment @var txt
|
|
|
|
% changes code styling to: in frame, white bg.
|
2017-05-30 20:25:51 +00:00
|
|
|
\lstnewenvironment{txt}{\lstset{style=plaintxt}}{}
|
|
|
|
|
|
|
|
|
|
|
|
% Enviroment @var cisco
|
2017-06-04 00:38:06 +00:00
|
|
|
\lstnewenvironment{cisco}{\lstset{language=cisco}}{}
|
2017-06-03 12:58:04 +00:00
|
|
|
|
|
|
|
|
|
|
|
%\newcommand{cisline}[1]{\lstinline[columns=fixed]{network-device\# #1}}
|
|
|
|
|
|
|
|
|
|
|
|
%\newcommand{cisconf}[2][]{%
|
|
|
|
%\def\temp{#1}\ifx\temp\empty
|
|
|
|
%\lstinline[columns=fixed]{network-device(config)\# #2}
|
|
|
|
%\else
|
|
|
|
%\lstinline[columns=fixed]{network-device(config-#1)\# #2}
|
|
|
|
%\fi\}
|
2017-06-06 05:37:21 +00:00
|
|
|
|
|
|
|
|
|
|
|
\newcommand{\txtreflect}[1]{\reflectbox{#1}}
|
|
|
|
\newcommand{\txtupdown}[1]{\raisebox{\depth}{\rotatebox{270}{\reflectbox{\rotatebox{90}{#1}}}}}
|