#16207: FiniteStateMachine._latex_: more options, better documentation
-------------------------------------+-------------------------------------
   Reporter:  cheuberg               |            Owner:
       Type:  enhancement            |           Status:  new
   Priority:  major                  |        Milestone:  sage-6.2
  Component:  combinatorics          |         Keywords:
  Merged in:                         |  finite_state_machine
  Reviewers:                         |          Authors:  Clemens Heuberger
Work issues:                         |  Report Upstream:  N/A
     Commit:                         |           Branch:  u/cheuberg/fsm
  d6661e70a561f949bab7b3f5e319e9f4d48a53b6|  /latex-improved
   Stopgaps:                         |     Dependencies:  #16146, #16200,
                                     |  #16205
-------------------------------------+-------------------------------------
 Improved {{{FiniteStateMachine._latex_}}}:
 * use state iterators instead of lists
 * move code format_transition_label
 * collect tikz options in array
 * typeset final_word_out, introduce relevant options: if a final state has
 an attribute  final_word_out, this is typeset as a leaving edge. This is
 in preparation for #16191
 * new method {{{latex_options}}}: Provide a new convenience function
 collecting all options for LaTeX output. While all of its functionality
 can also be achieved by directly setting attributes of
 {{{FiniteStateMachine}}}, {{{FSMState}}} and {{{FSMTransition}}}, this
 function also (somewhat) checks its input and serves to collect
 documentation on all these options.
 * Added a section in the introduction to the module explaining how to
 latex a FiniteStateMachine and pointing to this method for details.
 * Similarly, expanded explanations in {{{setup_latex_preamble}}}.
 * Use {{{latex_options}}} in other doctest instead of direct attribute
 assignment
 * new method {{{default_format_transition_label}}}: Previously, when no
 custorm {{{FiniteStateMachine.format_transition_label}}} was provided by
 the user, words have simply typeset by calling latex. As words are always
 lists, parentheses [ ] have always been printed.
   This new default method typesets words by juxtaposition of their
 letters, the letters are piped through {{{format_letter}}} first. The
 latter now defaults to latex.

   Finally, {{{format_transition_label}}} is by default set to
 {{{default_format_transition_label}}} in the hope of providing a sensible
 default value.
 * Convenience Formatting functions for digit problems: When using negative
 digits, it is quite customary to write e.g. {{{\overline{1}}}} instead of
 {{{-1}}} in LaTeX. Introduce
 {{{FiniteStateMachine.format_letter_negative}}} for this purpose.

   Furthermore, In digit expansions, digits are frequently processed from
 the least significant to the most significant position, but it is
 customary to write the least significant digit at the right-most position.
 Therefore, the labels have to be reversed. Provide a method
 {{{FiniteStateMachine.format_transition_label_reversed}}} for this
 purpose.

--
Ticket URL: <http://trac.sagemath.org/ticket/16207>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to