src/Pure/Tools/mkroot.scala
changeset 67043 848672fcaee5
parent 67042 677cab7c2b85
child 67069 f11486d31586
--- a/src/Pure/Tools/mkroot.scala	Sat Nov 11 14:55:30 2017 +0100
+++ b/src/Pure/Tools/mkroot.scala	Sat Nov 11 15:45:12 2017 +0100
@@ -105,8 +105,7 @@
 \begin{document}
 
 \title{""" + (proper_string(title) getOrElse latex_name(name)) + """}
-\author{""" +
-  (proper_string(author) getOrElse ("By " + latex_name(Isabelle_System.getenv("USER")))) + """}
+\author{""" + (proper_string(author) getOrElse latex_name(System.getProperty("user.name"))) + """}
 \maketitle
 
 \tableofcontents
@@ -149,16 +148,22 @@
 
   val isabelle_tool = Isabelle_Tool("mkroot", "prepare session root directory", args =>
   {
+    var author = ""
+    var title = ""
     var session_name = ""
 
     val getopts = Getopts("""
-Usage: isabelle mkroot [OPTIONS] [DIR]
+Usage: isabelle mkroot [OPTIONS] [DIRECTORY]
 
   Options are:
-    -n NAME      alternative session name (default: DIR base name)
+    -A LATEX     provide author in LaTeX notation (default: user name)
+    -T LATEX     provide title in LaTeX notation (default: session name)
+    -n NAME      alternative session name (default: directory base name)
 
-  Prepare session root DIR (default: current directory).
+  Prepare session root directory (default: current directory).
 """,
+      "A:" -> (arg => author = arg),
+      "T:" -> (arg => title = arg),
       "n:" -> (arg => session_name = arg))
 
     val more_args = getopts(args)
@@ -170,6 +175,7 @@
         case _ => getopts.usage()
       }
 
-    mkroot(session_name = session_name, session_dir = session_dir, progress = new Console_Progress)
+    mkroot(session_name = session_name, session_dir = session_dir, author = author, title = title,
+      progress = new Console_Progress)
   })
 }