parameters: (text, verbosity=1, print_to_screen=True, write_to_log_file=True,
                      extra_empty_lines_after=1, indent_size=4)
docstring: This function writes explanatory text to the screen. It is wrapped to the terminal width for
      stdout but not wrapped for the log file.
docstring_summary: This function writes explanatory text to the screen. It is wrapped to the terminal width for
      stdout but not wrapped for the log file.
docstring_tokens: This function writes explanatory text to the screen . It is wrapped to the terminal width for stdout but not wrapped for the log file .
function: def log_explanation(text, verbosity=1, print_to_screen=True, write_to_log_file=True,
                      extra_empty_lines_after=1, indent_size=4):
      """
      This function writes explanatory text to the screen. It is wrapped to the terminal width for
      stdout but not wrapped for the log file.
      """
      text = ' ' * indent_size + text
      if print_to_screen:
          terminal_width = shutil.get_terminal_size().columns
          for line in textwrap.wrap(text, width=terminal_width - 1):
              if logger.colours > 8:
                  formatted_text = dim(line)
              else:
                  formatted_text = line
              log(formatted_text, verbosity=verbosity, print_to_screen=True, write_to_log_file=False)
      if write_to_log_file:
          log(text, verbosity=verbosity, print_to_screen=False, write_to_log_file=True)
  
      for _ in range(extra_empty_lines_after):
          log('', verbosity=verbosity, print_to_screen=print_to_screen,
              write_to_log_file=write_to_log_file)
function_tokens: def log_explanation ( text , verbosity = 1 , print_to_screen = True , write_to_log_file = True , extra_empty_lines_after = 1 , indent_size = 4 ) : text = ' ' * indent_size + text if print_to_screen : terminal_width = shutil . get_terminal_size ( ) . columns for line in textwrap . wrap ( text , width = terminal_width - 1 ) : if logger . colours > 8 : formatted_text = dim ( line ) else : formatted_text = line log ( formatted_text , verbosity = verbosity , print_to_screen = True , write_to_log_file = False ) if write_to_log_file : log ( text , verbosity = verbosity , print_to_screen = False , write_to_log_file = True ) for _ in range ( extra_empty_lines_after ) : log ( '' , verbosity = verbosity , print_to_screen = print_to_screen , write_to_log_file = write_to_log_file )