docs: 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)