generated from balacij/McMaster-Thesis-Template
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmacros.tex
More file actions
57 lines (45 loc) · 2.73 KB
/
macros.tex
File metadata and controls
57 lines (45 loc) · 2.73 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
%------------------------------------------------------------------------------
% Macros used for paper
%------------------------------------------------------------------------------
\input{common_macros}
%------------------------------------------------------------------------------
% Question-directed Writing
%------------------------------------------------------------------------------
\ifshowwritingdirectives
\newenvironment{writingdirectives}{\begin{mdwritingdirectives}\centering\textbf{Writing Directives}\begin{itemize}}{\end{itemize}\end{mdwritingdirectives}}
\else
\excludecomment{writingdirectives}
\fi
%------------------------------------------------------------------------------
% Footnotes that only show when "compiling for printing."
%------------------------------------------------------------------------------
\ifcompilingforprinting
\newcommand{\printOnlyFootnote}[1]{\footnote{#1}}
\newcommand{\printOnlyFootnoteText}[1]{\footnotetext{#1}}
\newcommand{\printOnlyFootnoteMark}{\footnotemark}
\else
\newcommand{\printOnlyFootnote}[1]{}
\newcommand{\printOnlyFootnoteText}[1]{}
\newcommand{\printOnlyFootnoteMark}{}
\fi
%------------------------------------------------------------------------------
% Code Snippets
%------------------------------------------------------------------------------
\newenvironment{code}{\captionsetup{type=listing,skip=14pt}}{}
\SetupFloatingEnvironment{listing}{name=Source Code, listname=List of Source Codes}
\crefname{listing}{source code}{source codes}
\Crefname{listing}{Source Code}{Source Codes}
\newenvironment{haskell}[3]
{\VerbatimEnvironment\thesisForceSingleSpacing{}\begin{code}\captionof{listing}[#1]{\protect\porthreftm{#1}{#3}}\printOnlyFootnoteText{\protect\url{#3}}\label{lst:#2}\begin{minted}[frame=lines,framerule=2pt,breaklines]{haskell}}
{\end{minted}\end{code}\thesisSpacing{}}
\newenvironment{codeSnippet}[4]
{\VerbatimEnvironment\thesisForceSingleSpacing{}\begin{code}\captionof{listing}[#2]{\protect\porthreftm{#2}{#4}}\printOnlyFootnoteText{\protect\url{#4}}\label{lst:#3}\begin{minted}[frame=lines,framerule=2pt,breaklines]{#1}}
{\end{minted}\end{code}\thesisSpacing{}}
\newenvironment{pseudohaskell}[2]
{\VerbatimEnvironment\thesisForceSingleSpacing{}\begin{code}\captionof{listing}{Pseudocode: #1}\label{lst:#2}\begin{minted}[frame=lines,framerule=2pt,breaklines]{haskell}}
{\end{minted}\end{code}\thesisSpacing{}}
\newenvironment{pseudocode}[3]
{\VerbatimEnvironment\thesisForceSingleSpacing{}\begin{code}\captionof{listing}{Pseudocode: #2}\label{lst:#3}\begin{minted}[frame=lines,framerule=2pt,breaklines]{#1}}
{\end{minted}\end{code}\thesisSpacing{}}
\newcommand{\inlineHs}[1]{\mintinline{haskell}|#1|}
\newcommand{\inlineCode}[2]{\mintinline{#1}|#2|}