206 lines
6.3 KiB
TeX
206 lines
6.3 KiB
TeX
|
%%%%% paper-specific deets %%%%%%
|
||
|
|
||
|
|
||
|
%%%%%%%%%%%%%% Notation
|
||
|
\newcommand{\schemaof}[1]{\textbf{sch}(#1)}
|
||
|
\newcommand{\groundtruth}{\mathcal G}
|
||
|
\newcommand{\recordset}{\mathcal R}
|
||
|
|
||
|
\newcommand{\JValue}{v}
|
||
|
\newcommand{\JType}{\tau}
|
||
|
\newcommand{\JObject}{\mathcal O}
|
||
|
\newcommand{\JArray}{\mathcal A}
|
||
|
\newcommand{\TNull}{\textbf{null}}
|
||
|
\newcommand{\TBool}{\mathbb B}
|
||
|
\newcommand{\TNum}{\mathbb R}
|
||
|
\newcommand{\TString}{\mathbb S}
|
||
|
\newcommand{\JNull}{\texttt{null}}
|
||
|
\newcommand{\JKey}{k}
|
||
|
\newcommand{\JPath}{\vec p}
|
||
|
\newcommand{\JSch}{\mathcal S}
|
||
|
\newcommand{\JSchDefn}{\mathcal J}
|
||
|
\newcommand{\JEmptyObject}{\setof{\cdot}}
|
||
|
\newcommand{\JEmptyArray}{\arrayof{\cdot}}
|
||
|
\newcommand{\keysof}[1]{\texttt{keys}(#1)}
|
||
|
\newcommand{\keysofall}[1]{\texttt{keys}_{\forall}(#1)}
|
||
|
\newcommand{\keysofany}[1]{\texttt{keys}_{\exists}(#1)}
|
||
|
\newcommand{\setof}[1]{\left\{\;#1\;\right\}}
|
||
|
\newcommand{\arrayof}[1]{\left[\;#1\;\right]}
|
||
|
\newcommand{\sizeof}[1]{\left|#1\right|}
|
||
|
\newcommand{\booltype}{\textbf{bool}}
|
||
|
\newcommand{\numtype}{\textbf{num}}
|
||
|
\newcommand{\strtype}{\textbf{str}}
|
||
|
\newcommand{\CASESEP}{\;|\;}
|
||
|
\newcommand{\JEval}[1]{\left\llbracket \; #1 \; \right\rrbracket}
|
||
|
\newcommand{\kindof}[1]{\texttt{kind}(#1)}
|
||
|
\newcommand{\extract}[2]{\texttt{merge}_{#1}\left(#2\right)}
|
||
|
\newcommand{\extractNaive}[1]{\extract{\text{naive}}{#1}}
|
||
|
\newcommand{\Entropy}{\mathcal E}
|
||
|
\newcommand{\KeySpaceEntropy}{\Entropy_{\mathcal K}}
|
||
|
\newcommand{\TypeEntropy}{\Entropy_{\mathcal T}}
|
||
|
\newcommand{\isDefinedAs}{\overset{\triangle}{=}}
|
||
|
|
||
|
|
||
|
% \renewcommand{\theenumi}{(\roman{enumi})}
|
||
|
\newcommand{\bfcaption}[1]{\caption{\textbf{#1}}}
|
||
|
|
||
|
|
||
|
%%%%%% Standard Packages %%%%%%
|
||
|
\usepackage{graphicx}
|
||
|
% \usepackage{amssymb}
|
||
|
%\usepackage[noend]{algorithmic}
|
||
|
\usepackage{algorithm}
|
||
|
\usepackage{stackrel}
|
||
|
\usepackage{algpseudocode}
|
||
|
\usepackage{textcomp}
|
||
|
\PassOptionsToPackage{table}{xcolor}
|
||
|
\usepackage[table]{xcolor}
|
||
|
\usepackage{listings}
|
||
|
\usepackage{subcaption}
|
||
|
% \usepackage{caption}
|
||
|
\usepackage{amsmath}
|
||
|
\usepackage{mathtools,xparse}
|
||
|
\usepackage{dsfont}
|
||
|
\usepackage{stmaryrd}
|
||
|
% \usepackage[inline]{enumitem}
|
||
|
|
||
|
%\usepackage{cite}
|
||
|
\usepackage{paralist}
|
||
|
% \usepackage[colorlinks=false,citecolor=white]{hyperref}
|
||
|
\usepackage{cleveref}
|
||
|
\usepackage{lipsum}
|
||
|
\usepackage[normalem]{ulem}
|
||
|
\usepackage{array}
|
||
|
\usepackage{multicol}
|
||
|
\usepackage{enumitem}
|
||
|
% \usepackage[shortlabels]{enumitem}
|
||
|
\usepackage{etoolbox}
|
||
|
\usepackage{varwidth}
|
||
|
\usepackage{xspace}
|
||
|
\usepackage{url}
|
||
|
|
||
|
\usepackage{multirow}
|
||
|
|
||
|
%%%%%% Package Configuration %%%%%%
|
||
|
%%% Listings
|
||
|
\lstset{language=sql,morekeywords={LENS,SCHEMA_MATCHING,string},basicstyle=\small\upshape\ttfamily,keywordstyle=\color{blue}}
|
||
|
|
||
|
%%% Listings - JSON language definition
|
||
|
\colorlet{jsonpunct}{red!60!black}
|
||
|
\definecolor{jsonbackground}{HTML}{EEEEEE}
|
||
|
\definecolor{jsondelim}{RGB}{20,105,176}
|
||
|
\colorlet{jsonnumb}{magenta!60!black}
|
||
|
\definecolor{jsonkey}{RGB}{10,70,50}
|
||
|
% \colorlet{jsonkey}{magenta!60!black}
|
||
|
|
||
|
\lstdefinelanguage{json}{
|
||
|
basicstyle=\normalfont\ttfamily\small,
|
||
|
% numbers=left,
|
||
|
numberstyle=\scriptsize,
|
||
|
stepnumber=1,
|
||
|
numbersep=8pt,
|
||
|
showstringspaces=false,
|
||
|
breaklines=true,
|
||
|
frame=lines,
|
||
|
backgroundcolor=\color{jsonbackground},
|
||
|
morestring=[b]",
|
||
|
literate=
|
||
|
*{0}{{{\color{jsonnumb}0}}}{1}
|
||
|
{1}{{{\color{jsonnumb}1}}}{1}
|
||
|
{2}{{{\color{jsonnumb}2}}}{1}
|
||
|
{3}{{{\color{jsonnumb}3}}}{1}
|
||
|
{4}{{{\color{jsonnumb}4}}}{1}
|
||
|
{5}{{{\color{jsonnumb}5}}}{1}
|
||
|
{6}{{{\color{jsonnumb}6}}}{1}
|
||
|
{7}{{{\color{jsonnumb}7}}}{1}
|
||
|
{8}{{{\color{jsonnumb}8}}}{1}
|
||
|
{9}{{{\color{jsonnumb}9}}}{1}
|
||
|
{:}{{{\color{jsonpunct}{:}}}}{1}
|
||
|
{,}{{{\color{jsonpunct}{,}}}}{1}
|
||
|
{\{}{{{\color{jsondelim}{\{}}}}{1}
|
||
|
{\}}{{{\color{jsondelim}{\}}}}}{1}
|
||
|
{[}{{{\color{jsondelim}{[}}}}{1}
|
||
|
{]}{{{\color{jsondelim}{]}}}}{1}
|
||
|
{…}{{\normalfont \ldots}}{1},
|
||
|
morestring=[d]',
|
||
|
stringstyle=\color{jsonkey}
|
||
|
}
|
||
|
\newcommand{\inlinejson}[1]{\lstinline{#1}}
|
||
|
\newcommand{\mathjson}[1]{\text{\lstinline{#1}}}
|
||
|
|
||
|
%%% verbatim
|
||
|
\makeatletter
|
||
|
\preto{\@verbatim}{\topsep=5pt \parsep=0pt }
|
||
|
\makeatother
|
||
|
%%% Algorithmic
|
||
|
\renewcommand{\algorithmicrequire}{\textbf{In:}}
|
||
|
\renewcommand{\algorithmicensure}{\textbf{Out:}}
|
||
|
%% Multicol
|
||
|
\setlength\multicolsep{\topsep}
|
||
|
|
||
|
%%%%%% Standard Theorem Environments %%%%%%
|
||
|
%\newtheorem{example}{Example}
|
||
|
\newtheorem{scenario}{Scenario}
|
||
|
%\newtheorem{definition}{Definition}
|
||
|
\newtheorem{property}{Property}
|
||
|
\newtheorem{transformation}{Transformation}
|
||
|
|
||
|
%%%%%%% Table styling %%%%%%
|
||
|
\newcolumntype{L}[1]{>{\raggedright\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
|
||
|
\newcolumntype{C}[1]{>{\centering\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
|
||
|
\newcolumntype{R}[1]{>{\raggedleft\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
|
||
|
|
||
|
|
||
|
%%%%%% Common Math-Mode Aliases %%%%%%
|
||
|
\newcommand{\comprehension}[2]{\left\{\left.\;{#1}\;\right|\;{#2}\;\right\}}
|
||
|
%\newcommand{\bagcomprehension}[2]{\llbrace\left.\;{#1}\;\right|\;{#2}\;\rrbrace}
|
||
|
\newcommand{\bagcomprehension}[2]{\left\{\!\left|\left.\;{#1}\;\right|\;{#2}\;\right|\!\right\}}
|
||
|
\newcommand{\setsize}[1]{\left|#1\right|}
|
||
|
\newcommand{\tuple}[1]{\left<\;{#1}\;\right>}
|
||
|
\newcommand{\ordefn}{\;|\;}
|
||
|
\newcommand{\sch}[1]{\texttt{schema}({#1})}
|
||
|
\newcommand{\projection}{\pi}
|
||
|
\newcommand{\selection}{\sigma}
|
||
|
\newcommand{\logicalAnd}{\wedge}
|
||
|
\newcommand{\logicalOr}{\vee}
|
||
|
\newcommand{\Union}{\bigcup}
|
||
|
\newcommand*{\Unionl}{\Union\limits}
|
||
|
\newcommand{\Intersection}{\bigcap}
|
||
|
\newcommand{\E}{\mathrm{E}}
|
||
|
\newcommand{\expect}{\mathbb{E}}
|
||
|
\newcommand{\defineeq}{\overset{def}{=}}
|
||
|
|
||
|
\newcommand{\entropy}{\mathcal{H}}
|
||
|
|
||
|
\newcommand{\distinct}[1]{\lfloor{#1}\rfloor}
|
||
|
|
||
|
\DeclareMathOperator*{\argmin}{arg\,min}
|
||
|
\newcommand*{\argminl}{\argmin\limits}
|
||
|
|
||
|
\DeclareMathOperator*{\argmax}{arg\,max}
|
||
|
\newcommand*{\argmaxl}{\argmax\limits}
|
||
|
|
||
|
\DeclareMathOperator*{\mysum}{\sum}
|
||
|
\newcommand*{\mysuml}{\mysum\limits}
|
||
|
|
||
|
\DeclareMathOperator*{\myPi}{\Pi}
|
||
|
\newcommand*{\myPil}{\myPi\limits}
|
||
|
|
||
|
\DeclareMathOperator*{\mymin}{\min}
|
||
|
\newcommand*{\myminl}{\mymin\limits}
|
||
|
|
||
|
\DeclareMathOperator*{\mymax}{\max}
|
||
|
\newcommand*{\mymaxl}{\mymax\limits}
|
||
|
|
||
|
\DeclareMathOperator*{\myunion}{\bigcup}
|
||
|
\newcommand*{\myunionl}{\myunion\limits}
|
||
|
|
||
|
\renewcommand{\vec}[1]{\mathbf{#1}}
|
||
|
|
||
|
\DeclarePairedDelimiter{\norm}{\lVert}{\rVert}
|
||
|
|
||
|
%%%%%% Other Aliases %%%%%%
|
||
|
\newcommand{\ccomment}[1]{{\small\texttt{/*} #1 \texttt{*/}}}
|
||
|
\newcommand{\tinysection}[1]{\smallskip \noindent \textbf{#1.}~}
|
||
|
%\newcommand{\keyword}[1]{\textcolor{blue}{\texttt{#1}}}
|