Add an extra formatting layer to an axe, that couldn't be changed directly 
    in matplotlib.rcParams or with styles. Apply this function to every axe 
    you created.

    Parameters
    ----------    
    ax: a matplotlib axe. 
        If None, the last axe generated is used 
    style: string or list of string
        ['basic', 'article', 'poster', 'B&W','talk','origin'] 
        one of the styles previously defined. It should match the style you 
        chose in set_style but nothing forces you to.
    kwargs: dict
        edit any of the style_params keys. ex:
            
        >>> tight_layout=False

    Examples
    --------
    plb.set_style('poster')
    plt.plot(a,np.cos(a))
    plb.fix_style('poster',**{'draggable_legend':False})    
    
    See Also
    --------
    
    :func:`~publib.publib.set_style`
    :func:`~publib.tools.tools.reset_defaults`

def fix_style(style='basic', ax=None, **kwargs):
    ''' 
    Add an extra formatting layer to an axe, that couldn't be changed directly 
    in matplotlib.rcParams or with styles. Apply this function to every axe 
    you created.

    Parameters
    ----------    
    ax: a matplotlib axe. 
        If None, the last axe generated is used 
    style: string or list of string
        ['basic', 'article', 'poster', 'B&W','talk','origin'] 
        one of the styles previously defined. It should match the style you 
        chose in set_style but nothing forces you to.
    kwargs: dict
        edit any of the style_params keys. ex:
            
        >>> tight_layout=False

    Examples
    --------
    plb.set_style('poster')
    plt.plot(a,np.cos(a))
    plb.fix_style('poster',**{'draggable_legend':False})    
    
    See Also
    --------
    
    :func:`~publib.publib.set_style`
    :func:`~publib.tools.tools.reset_defaults`

    '''

    style = _read_style(style)

    # Apply all styles
    for s in style:

        if not s in style_params.keys():
            avail = [f.replace('.mplstyle', '') for f in os.listdir(
                _get_lib()) if f.endswith('.mplstyle')]
            raise ValueError('{0} is not a valid style. '.format(s) +
                             'Please pick a style from the list available in ' +
                             '{0}: {1}'.format(_get_lib(), avail))

    _fix_style(style, ax, **kwargs)