-static string const newlyxcommand_def =
- "%% Math macros with multiple optional parameters\n"
- "% #1<-\\foo\n"
- "\\def\\newlyxcommand#1{\n"
- " \\@ifnextchar[%]\n"
- " {\\newlyxcommand@arity{#1}}\n"
- " {\\newlyxcommand@arity{#1}[0]}\n"
- "}\n"
- "\n"
- "% #1<-\\foo #2<-arity\n"
- "\\def\\newlyxcommand@arity#1[#2]{\n"
- " \\@ifnextchar[%]\n"
- " {\\newlyxcommand@firstopt{#1}{}{#2}}\n"
- " {\\newlyxcommand@def#1{#2}}\n"
- "}\n"
- "\n"
- "% #1<-\\foo #2<-iii #3<-arity #4<-default value for (#2+1)th argument\n"
- "\\def\\newlyxcommand@firstopt#1#2#3[#4]{\n"
- " % ##1<-\\foo@\n"
- " \\def\\@defclause##1{\n"
- " \\def#1{\n"
- " \\@ifnextchar[%]\n"
- " {##1{}{#4}}\n"
- " {##1{}{#4}[#4]}}\n"
- " }\n"
- " \\expandafter\\@defclause\\csname\\expandafter\\@gobble\\string#1@\\endcsname\n"
- " \\@ifnextchar[%]\n"
- " {\\newlyxcommand@opt{#1}{#2}{#3}}\n"
- " {\\newlyxcommand@last{#1}{#2}{#3}[#4]}\n"
- "}\n"
- "\n"
- "\\begingroup\n"
- "\\catcode`\\Q=3\n"
- "\\gdef\\@myempty{Q}\n"
- "\\endgroup\n"
- "\n"
- "% #1<-\\foo #2<-iii #3<-arity #4<-default value for (#2+1)th argument\n"
- "\\def\\newlyxcommand@opt#1#2#3[#4]{\n"
- " % ##1<-\\foo@iii ##2<-\\foo@iiii \n"
- " % ####1<-{a}{b}{c} ####2<-default value ####3<- default arg\n"
- " \\def\\@defclause##1##2{\n"
- " \\def##1####1####2[####3]{\n"
- " \\ifx\\@myempty####3\\@myempty%\n"
- " \\def\\@callnext{\n"
- " \\@ifnextchar[%]\n"
- " {##2{####1{####2}}{#4}}\n"
- " {##2{####1{####2}}{#4}[#4]}\n"
- " }\n"
- " \\else\n"
- " \\def\\@callnext{\n"
- " \\@ifnextchar[%]\n"
- " {##2{####1{####3}}{#4}}\n"
- " {##2{####1{####3}}{#4}[#4]}\n"
- " }\n"
- " \\fi\n"
- " \\@callnext\n"
- " }\n"
- " }\n"
- " \\expandafter\\def\\expandafter\\@clausename\\expandafter{\\csname\\expandafter\\@gobble\\string#1@#2\\endcsname}\n"
- " \\expandafter\\def\\expandafter\\@nextclausename\\expandafter{\\csname\\expandafter\\@gobble\\string#1@#2i\\endcsname}\n"
- " \\expandafter\\expandafter\\expandafter \n"
- " \\@defclause\\expandafter\\@clausename\\@nextclausename\n"
- " \\@ifnextchar[%]\n"
- " {\\newlyxcommand@opt{#1}{#2i}{#3}}\n"
- " {\\newlyxcommand@last{#1}{#2i}{#3}[#4]}\n"
- "}\n"
- "\n"
- "% #1<-\\foo #2<-iii #3<-arity #4<-default value for (#2+1)th argument\n"
- "\\def\\newlyxcommand@last#1#2#3[#4]{\n"
- " \\def\\@defclause##1##2{\n"
- " \\def##1####1####2[####3]{\n"
- " \\ifx\\@myempty####3\\@myempty%\n"
- " \\def\\@callnext{##2####1{####2}}\n"
- " \\else\n"
- " \\def\\@callnext{##2####1{####3}}\n"
- " \\fi\n"
- " \\@callnext\n"
- " }\n"
- " }\n"
- " \\expandafter\\def\\expandafter\\@clausename\\expandafter{\\csname\\expandafter\\@gobble\\string#1@#2\\endcsname}\n"
- " \\expandafter\\def\\expandafter\\@nextclausename\\expandafter{\\csname\\expandafter\\@gobble\\string#1@#2i\\endcsname}\n"
- " \\expandafter\\expandafter\\expandafter\n"
- " \\@defclause\\expandafter\\@clausename\\@nextclausename\n"
- " \\expandafter\\newlyxcommand@def\\csname\\expandafter\\@gobble\\string#1@#2i\\endcsname{#3}\n"
- "}\n"
- "\n"
- "% #1<-\\foo #2<-arity #3<-definition\n"
- "\\def\\newlyxcommand@def#1#2#3{\n"
- " \\ifx#20\n"
- " \\def#1{#3}\n"
- " \\else\n"
- " \\def\\@splitargs##1#2##2.{\\def#1##1#2}\\@splitargs##1##2##3##4##5##6##7##8##9.{#3}\n"
- " \\fi\n"
- "}\n";
-
+static string const lyxmathsym_def =
+ "\\DeclareRobustCommand{\\lyxmathsym}[1]{%\n"
+ " \\ifmmode\\begingroup\n"
+ " \\edef\\b@ld{bold}%\n"
+ " \\def\\rmorbf##1{\\ifx\\math@version\\b@ld\\textbf{##1}\\else\\textrm{##1}\\fi}%\n"
+ " \\mathchoice{\\hbox{\\rmorbf{#1}}}{\\hbox{\\rmorbf{#1}}}%\n"
+ " {\\hbox{\\smaller[2]\\rmorbf{#1}}}{\\hbox{\\smaller[3]\\rmorbf{#1}}}%\n"
+ " \\endgroup\\else#1\\fi}\n";
+
+static string const papersizedvi_def =
+ "\\special{papersize=\\the\\paperwidth,\\the\\paperheight}\n";
+
+static string const papersizepdf_def =
+ "\\pdfpageheight\\paperheight\n"
+ "\\pdfpagewidth\\paperwidth\n";
+