docs: def launch_from_template(self, template_path, notebook_dir=None,
                               overwrite=False, output_name=None,
                               create_dir=False, no_browser=False, **kwargs):
          '''
          Launch a copy of the specified `.ipynb` (template) file in an IPython
          notebook session for the specified notebook directory.
  
          If an IPython notebook session has already been launched for the
          notebook directory, reuse it.
  
          If no notebook directory is specified, use the current working directory.
  
          Arguments
          ---------
  
           - `template_path`: Path to template `.ipynb` file.
           - `notebook_dir`: Directory to start IPython notebook session in.
           - `overwrite`: Overwrite existing file in `notebook_dir`, if necessary.
           - `create_dir`: Create notebook directory, if necessary.
           - `no_browser`: Do not launch new browser tab.
          '''
          template_path = template_path.abspath()
          if output_name is None:
              output_name = template_path.name
  
          if notebook_dir is None:
              notebook_dir = path(os.getcwd())
          else:
              notebook_dir = path(notebook_dir).abspath()
  
          if template_path.parent.realpath() == notebook_dir.realpath():
              raise IOError('Notebook directory must not be the parent directory of '
                            'the template file.')
          else:
              # The parent of the template file is not the notebook directory.
              output_path = notebook_dir.joinpath(output_name)
              if output_path.isfile() and not overwrite:
                  # A file with the same name already exists in the root.
                  raise IOError('Notebook already exists with same name.')
              # Create notebook directory if it doesn't exist.
              if create_dir:
                  notebook_dir.mkdirs_p()
  
              template_path.copy(output_path)
              notebook_path = output_path
  
          session = self.get_session(notebook_dir=notebook_dir, **kwargs)
  
          if not no_browser:
              # Open IPython notebook in new browser tab.
              session.open(notebook_path.name)