doc-src/IsarRef/Thy/document/Document_Preparation.tex
changeset 30397 b6212ae21656
parent 30172 afdf7808cfd0
child 32893 dbef0e6438ec
equal deleted inserted replaced
30396:841ce0fcbe14 30397:b6212ae21656
   333   of antiquotations.  Note that many of these coincide with global ML
   333   of antiquotations.  Note that many of these coincide with global ML
   334   flags of the same names.
   334   flags of the same names.
   335 
   335 
   336   \begin{description}
   336   \begin{description}
   337 
   337 
   338   \item \isa{{\isachardoublequote}show{\isacharunderscore}types\ {\isacharequal}\ bool{\isachardoublequote}} and \isa{{\isachardoublequote}show{\isacharunderscore}sorts\ {\isacharequal}\ bool{\isachardoublequote}}
   338   \item \indexdef{}{antiquotation option}{show\_types}\hypertarget{antiquotation option.show-types}{\hyperlink{antiquotation option.show-types}{\mbox{\isa{show{\isacharunderscore}types}}}}~\isa{{\isachardoublequote}{\isacharequal}\ bool{\isachardoublequote}} and
   339   control printing of explicit type and sort constraints.
   339   \indexdef{}{antiquotation option}{show\_sorts}\hypertarget{antiquotation option.show-sorts}{\hyperlink{antiquotation option.show-sorts}{\mbox{\isa{show{\isacharunderscore}sorts}}}}~\isa{{\isachardoublequote}{\isacharequal}\ bool{\isachardoublequote}} control
   340 
   340   printing of explicit type and sort constraints.
   341   \item \isa{{\isachardoublequote}show{\isacharunderscore}structs\ {\isacharequal}\ bool{\isachardoublequote}} controls printing of implicit
   341 
   342   structures.
   342   \item \indexdef{}{antiquotation option}{show\_structs}\hypertarget{antiquotation option.show-structs}{\hyperlink{antiquotation option.show-structs}{\mbox{\isa{show{\isacharunderscore}structs}}}}~\isa{{\isachardoublequote}{\isacharequal}\ bool{\isachardoublequote}}
   343 
   343   controls printing of implicit structures.
   344   \item \isa{{\isachardoublequote}long{\isacharunderscore}names\ {\isacharequal}\ bool{\isachardoublequote}} forces names of types and
   344 
   345   constants etc.\ to be printed in their fully qualified internal
   345   \item \indexdef{}{antiquotation option}{long\_names}\hypertarget{antiquotation option.long-names}{\hyperlink{antiquotation option.long-names}{\mbox{\isa{long{\isacharunderscore}names}}}}~\isa{{\isachardoublequote}{\isacharequal}\ bool{\isachardoublequote}} forces
   346   form.
   346   names of types and constants etc.\ to be printed in their fully
   347 
   347   qualified internal form.
   348   \item \isa{{\isachardoublequote}short{\isacharunderscore}names\ {\isacharequal}\ bool{\isachardoublequote}} forces names of types and
   348 
   349   constants etc.\ to be printed unqualified.  Note that internalizing
   349   \item \indexdef{}{antiquotation option}{short\_names}\hypertarget{antiquotation option.short-names}{\hyperlink{antiquotation option.short-names}{\mbox{\isa{short{\isacharunderscore}names}}}}~\isa{{\isachardoublequote}{\isacharequal}\ bool{\isachardoublequote}}
   350   the output again in the current context may well yield a different
   350   forces names of types and constants etc.\ to be printed unqualified.
   351   result.
   351   Note that internalizing the output again in the current context may
   352 
   352   well yield a different result.
   353   \item \isa{{\isachardoublequote}unique{\isacharunderscore}names\ {\isacharequal}\ bool{\isachardoublequote}} determines whether the printed
   353 
   354   version of qualified names should be made sufficiently long to avoid
   354   \item \indexdef{}{antiquotation option}{unique\_names}\hypertarget{antiquotation option.unique-names}{\hyperlink{antiquotation option.unique-names}{\mbox{\isa{unique{\isacharunderscore}names}}}}~\isa{{\isachardoublequote}{\isacharequal}\ bool{\isachardoublequote}}
   355   overlap with names declared further back.  Set to \isa{false} for
   355   determines whether the printed version of qualified names should be
   356   more concise output.
   356   made sufficiently long to avoid overlap with names declared further
   357 
   357   back.  Set to \isa{false} for more concise output.
   358   \item \isa{{\isachardoublequote}eta{\isacharunderscore}contract\ {\isacharequal}\ bool{\isachardoublequote}} prints terms in \isa{{\isasymeta}}-contracted form.
   358 
   359 
   359   \item \indexdef{}{antiquotation option}{eta\_contract}\hypertarget{antiquotation option.eta-contract}{\hyperlink{antiquotation option.eta-contract}{\mbox{\isa{eta{\isacharunderscore}contract}}}}~\isa{{\isachardoublequote}{\isacharequal}\ bool{\isachardoublequote}}
   360   \item \isa{{\isachardoublequote}display\ {\isacharequal}\ bool{\isachardoublequote}} indicates if the text is to be output
   360   prints terms in \isa{{\isasymeta}}-contracted form.
   361   as multi-line ``display material'', rather than a small piece of
   361 
   362   text without line breaks (which is the default).
   362   \item \indexdef{}{antiquotation option}{display}\hypertarget{antiquotation option.display}{\hyperlink{antiquotation option.display}{\mbox{\isa{display}}}}~\isa{{\isachardoublequote}{\isacharequal}\ bool{\isachardoublequote}} indicates
       
   363   if the text is to be output as multi-line ``display material'',
       
   364   rather than a small piece of text without line breaks (which is the
       
   365   default).
   363 
   366 
   364   In this mode the embedded entities are printed in the same style as
   367   In this mode the embedded entities are printed in the same style as
   365   the main theory text.
   368   the main theory text.
   366 
   369 
   367   \item \isa{{\isachardoublequote}break\ {\isacharequal}\ bool{\isachardoublequote}} controls line breaks in non-display
   370   \item \indexdef{}{antiquotation option}{break}\hypertarget{antiquotation option.break}{\hyperlink{antiquotation option.break}{\mbox{\isa{break}}}}~\isa{{\isachardoublequote}{\isacharequal}\ bool{\isachardoublequote}} controls
   368   material.
   371   line breaks in non-display material.
   369 
   372 
   370   \item \isa{{\isachardoublequote}quotes\ {\isacharequal}\ bool{\isachardoublequote}} indicates if the output should be
   373   \item \indexdef{}{antiquotation option}{quotes}\hypertarget{antiquotation option.quotes}{\hyperlink{antiquotation option.quotes}{\mbox{\isa{quotes}}}}~\isa{{\isachardoublequote}{\isacharequal}\ bool{\isachardoublequote}} indicates
   371   enclosed in double quotes.
   374   if the output should be enclosed in double quotes.
   372 
   375 
   373   \item \isa{{\isachardoublequote}mode\ {\isacharequal}\ name{\isachardoublequote}} adds \isa{name} to the print mode to
   376   \item \indexdef{}{antiquotation option}{mode}\hypertarget{antiquotation option.mode}{\hyperlink{antiquotation option.mode}{\mbox{\isa{mode}}}}~\isa{{\isachardoublequote}{\isacharequal}\ name{\isachardoublequote}} adds \isa{name} to the print mode to be used for presentation.  Note that the
   374   be used for presentation (see also \cite{isabelle-ref}).  Note that
   377   standard setup for {\LaTeX} output is already present by default,
   375   the standard setup for {\LaTeX} output is already present by
   378   including the modes \isa{latex} and \isa{xsymbols}.
   376   default, including the modes \isa{latex} and \isa{xsymbols}.
   379 
   377 
   380   \item \indexdef{}{antiquotation option}{margin}\hypertarget{antiquotation option.margin}{\hyperlink{antiquotation option.margin}{\mbox{\isa{margin}}}}~\isa{{\isachardoublequote}{\isacharequal}\ nat{\isachardoublequote}} and
   378   \item \isa{{\isachardoublequote}margin\ {\isacharequal}\ nat{\isachardoublequote}} and \isa{{\isachardoublequote}indent\ {\isacharequal}\ nat{\isachardoublequote}} change the
   381   \indexdef{}{antiquotation option}{indent}\hypertarget{antiquotation option.indent}{\hyperlink{antiquotation option.indent}{\mbox{\isa{indent}}}}~\isa{{\isachardoublequote}{\isacharequal}\ nat{\isachardoublequote}} change the margin
   379   margin or indentation for pretty printing of display material.
   382   or indentation for pretty printing of display material.
   380 
   383 
   381   \item \isa{{\isachardoublequote}goals{\isacharunderscore}limit\ {\isacharequal}\ nat{\isachardoublequote}} determines the maximum number of
   384   \item \indexdef{}{antiquotation option}{goals\_limit}\hypertarget{antiquotation option.goals-limit}{\hyperlink{antiquotation option.goals-limit}{\mbox{\isa{goals{\isacharunderscore}limit}}}}~\isa{{\isachardoublequote}{\isacharequal}\ nat{\isachardoublequote}}
   382   goals to be printed (for goal-based antiquotation).
   385   determines the maximum number of goals to be printed (for goal-based
   383 
   386   antiquotation).
   384   \item \isa{{\isachardoublequote}locale\ {\isacharequal}\ name{\isachardoublequote}} specifies an alternative locale
   387 
   385   context used for evaluating and printing the subsequent argument.
   388   \item \indexdef{}{antiquotation option}{source}\hypertarget{antiquotation option.source}{\hyperlink{antiquotation option.source}{\mbox{\isa{source}}}}~\isa{{\isachardoublequote}{\isacharequal}\ bool{\isachardoublequote}} prints the
   386 
   389   original source text of the antiquotation arguments, rather than its
   387   \item \isa{{\isachardoublequote}source\ {\isacharequal}\ bool{\isachardoublequote}} prints the original source text of the
   390   internal representation.  Note that formal checking of
   388   antiquotation arguments, rather than its internal representation.
   391   \hyperlink{antiquotation.thm}{\mbox{\isa{thm}}}, \hyperlink{antiquotation.term}{\mbox{\isa{term}}}, etc. is still
   389   Note that formal checking of \hyperlink{antiquotation.thm}{\mbox{\isa{thm}}}, \hyperlink{antiquotation.term}{\mbox{\isa{term}}}, etc. is still enabled; use the \hyperlink{antiquotation.text}{\mbox{\isa{text}}}
   392   enabled; use the \hyperlink{antiquotation.text}{\mbox{\isa{text}}} antiquotation for unchecked
   390   antiquotation for unchecked output.
   393   output.
   391 
   394 
   392   Regular \isa{{\isachardoublequote}term{\isachardoublequote}} and \isa{{\isachardoublequote}typ{\isachardoublequote}} antiquotations with \isa{{\isachardoublequote}source\ {\isacharequal}\ false{\isachardoublequote}} involve a full round-trip from the original source
   395   Regular \isa{{\isachardoublequote}term{\isachardoublequote}} and \isa{{\isachardoublequote}typ{\isachardoublequote}} antiquotations with \isa{{\isachardoublequote}source\ {\isacharequal}\ false{\isachardoublequote}} involve a full round-trip from the original source
   393   to an internalized logical entity back to a source form, according
   396   to an internalized logical entity back to a source form, according
   394   to the syntax of the current context.  Thus the printed output is
   397   to the syntax of the current context.  Thus the printed output is
   395   not under direct control of the author, it may even fluctuate a bit
   398   not under direct control of the author, it may even fluctuate a bit
   396   as the underlying theory is changed later on.
   399   as the underlying theory is changed later on.
   397 
   400 
   398   In contrast, \isa{{\isachardoublequote}source\ {\isacharequal}\ true{\isachardoublequote}} admits direct printing of the
   401   In contrast, \indexdef{}{antiquotation option}{source}\hypertarget{antiquotation option.source}{\hyperlink{antiquotation option.source}{\mbox{\isa{source}}}}~\isa{{\isachardoublequote}{\isacharequal}\ true{\isachardoublequote}}
   399   given source text, with the desirable well-formedness check in the
   402   admits direct printing of the given source text, with the desirable
   400   background, but without modification of the printed text.
   403   well-formedness check in the background, but without modification of
       
   404   the printed text.
   401 
   405 
   402   \end{description}
   406   \end{description}
   403 
   407 
   404   For boolean flags, ``\isa{{\isachardoublequote}name\ {\isacharequal}\ true{\isachardoublequote}}'' may be abbreviated as
   408   For boolean flags, ``\isa{{\isachardoublequote}name\ {\isacharequal}\ true{\isachardoublequote}}'' may be abbreviated as
   405   ``\isa{name}''.  All of the above flags are disabled by default,
   409   ``\isa{name}''.  All of the above flags are disabled by default,