src/Doc/Isar_Ref/Document_Preparation.thy
changeset 58593 51adee3ace7b
parent 58552 66fed99e874f
child 58618 782f0b662cae
equal deleted inserted replaced
58592:b0fff34d3247 58593:51adee3ace7b
   125     @{antiquotation_def ML_type} & : & @{text antiquotation} \\
   125     @{antiquotation_def ML_type} & : & @{text antiquotation} \\
   126     @{antiquotation_def ML_structure} & : & @{text antiquotation} \\
   126     @{antiquotation_def ML_structure} & : & @{text antiquotation} \\
   127     @{antiquotation_def ML_functor} & : & @{text antiquotation} \\
   127     @{antiquotation_def ML_functor} & : & @{text antiquotation} \\
   128     @{antiquotation_def "file"} & : & @{text antiquotation} \\
   128     @{antiquotation_def "file"} & : & @{text antiquotation} \\
   129     @{antiquotation_def "url"} & : & @{text antiquotation} \\
   129     @{antiquotation_def "url"} & : & @{text antiquotation} \\
       
   130     @{antiquotation_def "cite"} & : & @{text antiquotation} \\
   130   \end{matharray}
   131   \end{matharray}
   131 
   132 
   132   The overall content of an Isabelle/Isar theory may alternate between
   133   The overall content of an Isabelle/Isar theory may alternate between
   133   formal and informal text.  The main body consists of formal
   134   formal and informal text.  The main body consists of formal
   134   specification and proof commands, interspersed with markup commands
   135   specification and proof commands, interspersed with markup commands
   178       @@{antiquotation ML_type} options @{syntax text} |
   179       @@{antiquotation ML_type} options @{syntax text} |
   179       @@{antiquotation ML_structure} options @{syntax text} |
   180       @@{antiquotation ML_structure} options @{syntax text} |
   180       @@{antiquotation ML_functor} options @{syntax text} |
   181       @@{antiquotation ML_functor} options @{syntax text} |
   181       @@{antiquotation "file"} options @{syntax name} |
   182       @@{antiquotation "file"} options @{syntax name} |
   182       @@{antiquotation file_unchecked} options @{syntax name} |
   183       @@{antiquotation file_unchecked} options @{syntax name} |
   183       @@{antiquotation url} options @{syntax name}
   184       @@{antiquotation url} options @{syntax name} |
       
   185       @@{antiquotation cite} options @{syntax cartouche}? (@{syntax name} + @'and')
   184     ;
   186     ;
   185     options: '[' (option * ',') ']'
   187     options: '[' (option * ',') ']'
   186     ;
   188     ;
   187     option: @{syntax name} | @{syntax name} '=' @{syntax name}
   189     option: @{syntax name} | @{syntax name} '=' @{syntax name}
   188     ;
   190     ;
   276   path}"}, but does not check the existence of the @{text "path"}
   278   path}"}, but does not check the existence of the @{text "path"}
   277   within the file-system.
   279   within the file-system.
   278 
   280 
   279   \item @{text "@{url name}"} produces markup for the given URL, which
   281   \item @{text "@{url name}"} produces markup for the given URL, which
   280   results in an active hyperlink within the text.
   282   results in an active hyperlink within the text.
       
   283 
       
   284   \item @{text "@{cite name}"} produces a citation @{verbatim
       
   285   "\\cite{name}"} in {\LaTeX}, where the name refers to some Bib{\TeX}
       
   286   database entry.
       
   287 
       
   288   The variant @{text "@{cite \<open>opt\<close> name}"} produces @{verbatim
       
   289   "\\cite[opt]{name}"} with some free-form optional argument. Multiple names
       
   290   are output with commas, e.g. @{text "@{cite foo \<AND> bar}"} becomes
       
   291   @{verbatim "\\cite{foo,bar}"}.
       
   292 
       
   293   The {\LaTeX} macro name is determined by the antiquotation option
       
   294   @{antiquotation_option_def cite_macro}, or the configuration option
       
   295   @{attribute cite_macro} in the context. For example, @{text "@{cite
       
   296   [cite_macro = nocite] foobar}"} produces @{verbatim "\\nocite{foobar}"}.
   281 
   297 
   282   \end{description}
   298   \end{description}
   283 *}
   299 *}
   284 
   300 
   285 
   301