doc-src/IsarRef/syntax.tex
changeset 9728 1546ad1c7839
parent 9617 574ab125a03b
child 9752 a09f4a7accea
equal deleted inserted replaced
9727:5e18de753e0f 9728:1546ad1c7839
   343 \texttt{{\at}{\ttlbrace}term[show_types]~"f(x)~=~a~+~x"{\ttrbrace}} within a
   343 \texttt{{\at}{\ttlbrace}term[show_types]~"f(x)~=~a~+~x"{\ttrbrace}} within a
   344 text block would cause
   344 text block would cause
   345 \isa{(f{\isasymColon}'a~{\isasymRightarrow}~'a)~(x{\isasymColon}'a)~=~(a{\isasymColon}'a)~+~x}
   345 \isa{(f{\isasymColon}'a~{\isasymRightarrow}~'a)~(x{\isasymColon}'a)~=~(a{\isasymColon}'a)~+~x}
   346 to appear in the final {\LaTeX} document.
   346 to appear in the final {\LaTeX} document.
   347 
   347 
   348 \medskip
       
   349 
       
   350 Antiquotations do not only spare the author from tedious typing, but also
   348 Antiquotations do not only spare the author from tedious typing, but also
   351 achieve some degree of consistency-checking of informal explanations with
   349 achieve some degree of consistency-checking of informal explanations with
   352 formal developments, since well-formedness of terms and types with respect to
   350 formal developments, since well-formedness of terms and types with respect to
   353 the current theory or proof context can be ensured.
   351 the current theory or proof context can be ensured.  The \texttt{name}
   354 
   352 antiquotation is an exception to this rule: it prints an uninterpreted text
   355 \indexisarant{thm}\indexisarant{prop}\indexisarant{term}\indexisarant{typ}
   353 argument that is not checked in any way.
       
   354 
       
   355 \indexisarant{thm}\indexisarant{prop}\indexisarant{term}
       
   356 \indexisarant{typ}\indexisarant{name}
   356 \begin{rail}
   357 \begin{rail}
   357   atsign lbrace antiquotation rbrace
   358   atsign lbrace antiquotation rbrace
   358   ;
   359   ;
   359 
   360 
   360   antiquotation:
   361   antiquotation:
   361     'thm' options thmrefs |
   362     'thm' options thmrefs |
   362     'prop' options prop |
   363     'prop' options prop |
   363     'term' options term |
   364     'term' options term |
   364     'typ' options type
   365     'typ' options type |
       
   366     'name' options name
   365   ;
   367   ;
   366   options: '[' (option * ',') ']'
   368   options: '[' (option * ',') ']'
   367   ;
   369   ;
   368   option: name | name '=' name
   370   option: name | name '=' name
   369   ;
   371   ;
   389   quotes.
   391   quotes.
   390 \item[$mode = name$] adds $name$ to the print mode to be used for presentation
   392 \item[$mode = name$] adds $name$ to the print mode to be used for presentation
   391   (see also \cite{isabelle-ref}).  Note that the standard setup for {\LaTeX}
   393   (see also \cite{isabelle-ref}).  Note that the standard setup for {\LaTeX}
   392   output is already present by default, including the modes ``$latex$'',
   394   output is already present by default, including the modes ``$latex$'',
   393   ``$xsymbols$'', ``$symbols$''.
   395   ``$xsymbols$'', ``$symbols$''.
   394 \item[$margin = nat$] changes the margin for pretty printing of display
   396 \item[$margin = nat$ and $indent = nat$] change the margin or indentation for
   395   material.
   397   pretty printing of display material.
   396 \end{descr}
   398 \end{descr}
   397 
   399 
   398 For boolean flags, ``$name = true$'' may be abbreviated as ``$name$''.  All of
   400 For boolean flags, ``$name = true$'' may be abbreviated as ``$name$''.  All of
   399 the above flags are disabled by default, unless changed from ML.
   401 the above flags are disabled by default, unless changed from ML.
   400 
   402