You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: tightsubplot.m
    path of file: ./repos/2015_Face_Detection/vlfeat/toolbox/noprefix
    
    the code of the file until where you have to start completion: function varargout = tightsubplot(varargin)
% VL_TIGHTSUBPLOT  Tiles axes without wasting space
%   H = VL_TIGHTSUBPLOT(K,P) returns an handle to the P-th axis in a
%   regular grid of K axes. The K axes are numbered from left to right
%   and from top to bottom.  The function operates similarly to
%   SUBPLOT(), but by default it does not put any margin between
%   axes. This is done by tiling the axes inner box rather than the
%   axes outer box.
%
%   H = VL_TIGHTSUBPLOT(M,N,P) retursn an handle to the P-th axes in a
%   regular subdivision with M rows and N columns.
%
%   VL_TIGHTSUBPLOT() accepts the following options:
%
%   Margin:: [0]
%   MarginLeft:: [0]
%   MarginRight:: [0]
%   MarginTop:: [0]
%   MarginBottom:: [0]
%     Set the axes inner box margin, either uniformly in all
%     directions, or specifically to the left, right, top or bottom.
%
%   Box:: [0]
%     If set to 'outer', tile the axes outer box, thus protecting
%     title and labels. Unfortunately this usually produces

    
function varargout = tightsubplot(varargin)
% VL_TIGHTSUBPLOT  Tiles axes without wasting space
%   H = VL_TIGHTSUBPLOT(K,P) returns an handle to the P-th axis in a
%   regular grid of K axes. The K axes are numbered from left to right
%   and from top to bottom.  The function operates similarly to
%   SUBPLOT(), but by default it does not put any margin between
%   axes. This is done by tiling the axes inner box rather than the
%   axes outer box.
%
%   H = VL_TIGHTSUBPLOT(M,N,P) retursn an handle to the P-th axes in a
%   regular subdivision with M rows and N columns.
%
%   VL_TIGHTSUBPLOT() accepts the following options:
%
%   Margin:: [0]
%   MarginLeft:: [0]
%   MarginRight:: [0]
%   MarginTop:: [0]
%   MarginBottom:: [0]
%     Set the axes inner box margin, either uniformly in all
%     directions, or specifically to the left, right, top or bottom.
%
%   Box:: [0]
%     If set to 'outer', tile the axes outer box, thus protecting
%     title and labels. Unfortunately this usually produces
%     unnecesarily large margins.
%
%   Spacing:: [0] (legacy option)
%     Set extra spacing between axes.  The space is added between the
%     inner or outer boxes, depend