docs: def set_style(style='basic', **kwargs):
      ''' Changes Matplotlib basic style to produce high quality graphs. Call 
      this function at the beginning of your script. You can even further improve
      graphs with a call to fix_style at the end of your script.
  
      Parameters
      ----------    
      style: string
          'basic', 'article', 'poster', 'B&W', 'talk', 'origin'
  
      kwargs: dict of rcParams
          add Matplotlib rcParams    
  
      Examples
      --------
      >>> set_style('article')
  
      >>> set_style('poster',**{'lines.linewidth':2})
      
      See Also
      --------
      
      :func:`~publib.publib.fix_style`,
      :func:`~publib.tools.tools.reset_defaults`,
      :func:`~publib.tools.tools.regenerate_fonts`
  
      '''
  
      style = _read_style(style)
  
      # Add basic style as the first style
      if style[0] != 'basic':
          style = ['basic'] + style
  
      # Apply all styles
      for s in style:
          _set_style(s, **kwargs)