
\providecommand{\struct}[1]{\texttt{#1}}
\providecommand{\func}[1]{\texttt{#1}}
\providecommand{\var}[1]{\texttt{#1}}
\providecommand{\property}[1]{\texttt{#1}}
\providecommand{\syscall}[1]{\textbf{\texttt{#1}}}

% Usage: \graphfigure[placement]{graphicx options}{filename}{label}{caption}
% The \leavevmode is magical
\providecommand{\graphfigure}[5][{hbt}]{\begin{figure}[#1]%
                                      \leavevmode%
                                      \begin{center}%
                                         \includegraphics[#2]{#3}%
                                      \end{center}%
                                      \caption{#5}%
                                      \label{fig:#4}%
                                   \end{figure}}

% The \graphfigurespan command spans 2 columns
\providecommand{\graphfigurespan}[5][{hbt}]{\begin{figure*}[#1]%
                                      \leavevmode%
                                      \begin{center}%
                                         \includegraphics[#2]{#3}%
                                      \end{center}%
                                      \caption{#5}%
                                      \label{fig:#4}%
                                   \end{figure*}}

% The \twographfigurespan contains 2 graphs and spans 2 columns
\providecommand{\twographfigurespan}[6][{hbt}]{\begin{figure*}[#1]%
                                      \leavevmode%
                                      \hbox{
                                         \includegraphics[#2]{#3}%
                                         \hspace{1.5cm}%
                                         \includegraphics[#2]{#4}%
                                      }%
                                      \caption{#6}%
                                      \label{fig:#5}%
                                   \end{figure*}}

\renewcommand{\struct}[1]{\texttt{#1}}
\renewcommand{\func}[1]{\texttt{#1}}
\renewcommand{\var}[1]{\texttt{#1}}
\renewcommand{\property}[1]{\texttt{#1}} 
\renewcommand{\syscall}[1]{\textbf{\texttt{#1}}}

% Usage: \graphfigure[placement]{graphicx options}{filename}{label}{caption}
% The \leavevmode is magical
\renewcommand{\graphfigure}[5][{hbt}]{\begin{figure}[#1]%
                                      \leavevmode%
                                      \begin{center}%
                                         \includegraphics[#2]{#3}%
                                      \end{center}%
                                      \caption{#5}%
                                      \label{fig:#4}%
                                   \end{figure}}

% The \graphfigurespan command spans 2 columns
\renewcommand{\graphfigurespan}[5][{hbt}]{\begin{figure*}[#1]%
                                      \leavevmode%
                                      \begin{center}%
                                         \includegraphics[#2]{#3}%
                                      \end{center}%
                                      \caption{#5}%
                                      \label{fig:#4}%
                                   \end{figure*}}

% The \twographfigurespan contains 2 graphs and spans 2 columns
\renewcommand{\twographfigurespan}[6][{hbt}]{\begin{figure*}[#1]\leavevmode\hbox{\includegraphics[#2]{#3}\hspace{1.5cm}\includegraphics[#2]{#4}}\caption{#6}\label{fig:#5}\end{figure*}}

