summaryrefslogtreecommitdiff
path: root/support/brief-t
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /support/brief-t
Initial commit
Diffstat (limited to 'support/brief-t')
-rw-r--r--support/brief-t/arrow.mnu6
-rw-r--r--support/brief-t/embrace.cb122
-rw-r--r--support/brief-t/embrace.cmbin0 -> 1273 bytes
-rw-r--r--support/brief-t/gmatch.cb135
-rw-r--r--support/brief-t/gmatch.cmbin0 -> 2454 bytes
-rw-r--r--support/brief-t/gresk.cb208
-rw-r--r--support/brief-t/gresk.cmbin0 -> 1647 bytes
-rw-r--r--support/brief-t/gresk.mnu40
-rw-r--r--support/brief-t/item.mnu4
-rw-r--r--support/brief-t/label.cb94
-rw-r--r--support/brief-t/label.cmbin0 -> 1624 bytes
-rw-r--r--support/brief-t/latex.cb548
-rw-r--r--support/brief-t/latex.cmbin0 -> 8489 bytes
-rw-r--r--support/brief-t/latex.mnu33
-rw-r--r--support/brief-t/latex.txt92
-rw-r--r--support/brief-t/latexh.cb180
-rw-r--r--support/brief-t/latexh.cmbin0 -> 1836 bytes
-rw-r--r--support/brief-t/latexmat.cb517
-rw-r--r--support/brief-t/latexmat.cmbin0 -> 9123 bytes
-rw-r--r--support/brief-t/latexmat.mnu41
-rw-r--r--support/brief-t/lesmeg76
-rw-r--r--support/brief-t/log_like.mnu5
-rw-r--r--support/brief-t/norsk.cb128
-rw-r--r--support/brief-t/norsk.cmbin0 -> 2653 bytes
-rw-r--r--support/brief-t/readme95
-rw-r--r--support/brief-t/remmer.cb146
-rw-r--r--support/brief-t/remmer.cmbin0 -> 2824 bytes
-rw-r--r--support/brief-t/section.mnu3
-rw-r--r--support/brief-t/sort.cb157
-rw-r--r--support/brief-t/sort.cmbin0 -> 2855 bytes
-rw-r--r--support/brief-t/tex.cb417
-rw-r--r--support/brief-t/tex.cmbin0 -> 8540 bytes
-rw-r--r--support/brief-t/uthev.mnu10
33 files changed, 3057 insertions, 0 deletions
diff --git a/support/brief-t/arrow.mnu b/support/brief-t/arrow.mnu
new file mode 100644
index 0000000000..45f79e62c9
--- /dev/null
+++ b/support/brief-t/arrow.mnu
@@ -0,0 +1,6 @@
+<ctrl-a><arrow> ;
+<ctrl-l><e> exp ;exp
+<ctrl-l><l> lim ;lim
+<ctrl-l><s> sin ;sin
+<ctrl-l><t> tan ;tan
+
diff --git a/support/brief-t/embrace.cb b/support/brief-t/embrace.cb
new file mode 100644
index 0000000000..ba790ec096
--- /dev/null
+++ b/support/brief-t/embrace.cb
@@ -0,0 +1,122 @@
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*/
+/* */
+/* Pl Hedne 1990 */
+/* */
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*/
+extern embrace;
+
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+mbox (...)
+{
+ embrace ("mbox",0);
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+caption (...)
+{
+ embrace ("caption",0);
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+underline (...)
+{
+ embrace ("underline",0);
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+overline (...)
+{
+ embrace ("overline",0);
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+bold (...)
+{
+ embrace ("bf",-1);
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+roman (...)
+{
+ embrace ("rm",-1);
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+italic (...)
+{
+ embrace ("it",-1);
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+slanted (...)
+{
+ embrace ("sl",-1);
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+emphasize (...)
+{
+ embrace ("em",-1);
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+caps (...)
+{
+ embrace ("sc",-1);
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+sansserif (...)
+{
+ embrace ("sf",-1);
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+typewriter (...)
+{
+ embrace ("tt",-1);
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+cite (...)
+{
+ embrace ("cite",0);
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+ref (...)
+{
+ embrace ("ref",0);
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+label (...)
+{
+ embrace ("label",0);
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+section (...)
+{
+ embrace ("section",0);
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+chapter (...)
+{
+ embrace ("chapter",0);
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+subsection (...)
+{
+ embrace ("subsection",0);
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+subscript (...)
+{
+ embrace ("_", 1);
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+superscript (...)
+{
+ embrace ("^", 1);
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+multicolumn (...)
+{
+ embrace ("multicolumn{?}{c}",0);
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+footnote (...)
+{
+ embrace ("footnote",0);
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+bibitem (...)
+{
+ embrace ("bibitem",0);
+}
diff --git a/support/brief-t/embrace.cm b/support/brief-t/embrace.cm
new file mode 100644
index 0000000000..b84832beb3
--- /dev/null
+++ b/support/brief-t/embrace.cm
Binary files differ
diff --git a/support/brief-t/gmatch.cb b/support/brief-t/gmatch.cb
new file mode 100644
index 0000000000..518677dea6
--- /dev/null
+++ b/support/brief-t/gmatch.cb
@@ -0,0 +1,135 @@
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*/
+/* */
+/* Pl Hedne 1990 */
+/* */
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*/
+_init (...)
+{
+ int match_key,goto;
+ global match_key,goto;
+
+ match_key=0;
+/* if (!inq_macro("latex")) load_macro ("latex");*/
+ load_macro ("latex");
+/* if (!inq_macro("latexh")) load_macro ("latexh");*/
+ load_macro ("latexh");
+ assign_to_key ("<Ctrl-F4>", "find_match");
+ assign_to_key ("<Shift-F4>", "disp_match");
+}
+
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*/
+extern gen_help,
+ _reg_exp, // Regular expressions on/off.
+ _block_search; // Block search on/off.
+
+find_match (...)
+{
+ int line,col,line1,col1,match,ind,length,maxlength,
+ buf_key,nwrite,dum,key_save,key_next;
+ string text,label,pattern,fname,ext,bname,sdum;
+
+
+/* pause_on_error (1); */
+
+
+ maxlength=30;
+ pattern="";
+ sprintf (text, "Global search %sfor: ", _reg_exp ? "" : "(RE off) ");
+ if (get_parm (0, pattern, text, NULL,pattern))
+ {
+ key_save=inq_buffer();
+ inq_names(fname,ext,bname);
+ bname=upper(bname);
+ do
+ {
+ sprintf (text,"%s: Search for %s ",bname,pattern);
+ message(text);
+ inq_position (line, col);
+ top_of_buffer();
+
+ sprintf (text,"Buffer %s",bname);
+ match_key=create_buffer(text,NULL,1);
+ nwrite=0;
+ match=1;
+ while (match > 0)
+ {
+ match=search_fwd(pattern,_reg_exp,NULL,_block_search);
+ if (match > 0)
+ {
+ buf_key=inq_buffer();
+ inq_position(line1,col1);
+ move_abs(line1,1);
+ text = read();
+ text=trim(text);
+ length=strlen(text);
+ label=text;
+ while ((ind=search_string(";",text,dum,0,0)) > 0)
+ text=substr(label,1,ind-1)+":"+substr(label,ind+1,length);
+ if (length>maxlength) maxlength=length;
+ while (strlen(text)<maxlength) text=text+" ";
+ set_buffer(match_key);
+ insert("Line %d: %s ;go_to_line %c%d%c%d%c\n",line1,text,34,line1,34,col1,34);
+ set_buffer(buf_key);
+ ++nwrite;
+ move_abs(line1+1,1);
+ }
+ }
+ if (nwrite>0)
+ {
+ message(" ");
+ label=" ";
+ text=gen_help(label,match_key);
+ if (goto == 1)
+ {
+ attach_buffer(buf_key);
+ break;
+ }
+ }
+/* else
+ {
+ text="No matches in file. Press return.";
+ get_parm (0, sdum, text);
+ }*/
+ text="Continue with next buffer ? (Y/N)";
+ get_parm (0, sdum, text, 1);
+ sdum=upper(sdum);
+ if (substr(sdum,1,1) != "Y")
+ {
+ key_next=key_save;
+ set_buffer(key_next);
+ move_abs (line, col);
+ }
+ else
+ {
+ key_next=next_buffer();
+ set_buffer(key_next);
+ inq_names(fname,ext,bname);
+ delete_buffer(match_key);
+ if (key_next == key_save) message("No more buffers.");
+ }
+/* pause_on_error (0); */
+ }
+ while (key_next != key_save);
+ }
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*/
+go_to_line(...)
+{
+ int line,col;
+
+ if (get_parm(0,line) && get_parm(1,col))
+ {
+ goto=1;
+ move_abs(line,col);
+ }
+ else
+ goto=0;
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*/
+disp_match (...)
+{
+ string fname;
+ fname=" ";
+ if (match_key>0) fname=gen_help(fname,match_key);
+}
+
diff --git a/support/brief-t/gmatch.cm b/support/brief-t/gmatch.cm
new file mode 100644
index 0000000000..5699d53e60
--- /dev/null
+++ b/support/brief-t/gmatch.cm
Binary files differ
diff --git a/support/brief-t/gresk.cb b/support/brief-t/gresk.cb
new file mode 100644
index 0000000000..b362778983
--- /dev/null
+++ b/support/brief-t/gresk.cb
@@ -0,0 +1,208 @@
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*/
+/* */
+/* Pl Hedne 1990 */
+/* */
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*/
+tex_alpha (...)
+{
+ insert ("\\alpha");
+}
+
+tex_beta (...)
+{
+ insert ("\\beta");
+}
+
+tex_gamma (...)
+{
+ insert ("\\gamma");
+}
+
+tex_delta (...)
+{
+ insert ("\\delta");
+}
+
+tex_epsilon (...)
+{
+ insert ("\\epsilon");
+}
+
+tex_varepsilon (...)
+{
+ insert ("\\varepsilon");
+}
+
+tex_zeta (...)
+{
+ insert ("\\zeta");
+}
+
+tex_eta (...)
+{
+ insert ("\\eta");
+}
+tex_theta (...)
+{
+ insert ("\\theta");
+}
+
+tex_vartheta (...)
+{
+ insert ("\\vartheta");
+}
+
+tex_iota (...)
+{
+ insert ("\\iota");
+}
+
+tex_kappa (...)
+{
+ insert ("\\kappa");
+}
+
+tex_lambda (...)
+{
+ insert ("\\lambda");
+}
+
+tex_mu (...)
+{
+ insert ("\\mu");
+}
+
+tex_nu (...)
+{
+ insert ("\\nu");
+}
+
+tex_xi (...)
+{
+ insert ("\\xi");
+}
+
+tex_o (...)
+{
+ insert ("\\o");
+}
+
+tex_pi (...)
+{
+ insert ("\\pi");
+}
+
+tex_varpi (...)
+{
+ insert ("\\varpi");
+}
+
+tex_rho (...)
+{
+ insert ("\\rho");
+}
+
+tex_varrho (...)
+{
+ insert ("\\varrho");
+}
+
+tex_sigma (...)
+{
+ insert ("\\sigma");
+}
+
+tex_varsigma (...)
+{
+ insert ("\\varsigma");
+}
+
+tex_tau (...)
+{
+ insert ("\\tau");
+}
+
+tex_upsilon (...)
+{
+ insert ("\\upsilon");
+}
+
+tex_phi (...)
+{
+ insert ("\\phi");
+}
+
+tex_varphi (...)
+{
+ insert ("\\varphi");
+}
+
+tex_chi (...)
+{
+ insert ("\\chi");
+}
+
+tex_psi (...)
+{
+ insert ("\\psi");
+}
+
+tex_omega (...)
+{
+ insert ("\\omega");
+}
+
+tex_Gamma (...)
+{
+ insert ("\\Gamma");
+}
+
+tex_Delta (...)
+{
+ insert ("\\Delta");
+}
+
+tex_Theta (...)
+{
+ insert ("\\Theta");
+}
+
+tex_Lambda (...)
+{
+ insert ("\\Lambda");
+}
+
+tex_Xi (...)
+{
+ insert ("\\Xi");
+}
+
+tex_Pi (...)
+{
+ insert ("\\Pi");
+}
+
+tex_Sigma (...)
+{
+ insert ("\\Sigma");
+}
+
+tex_Upsilon (...)
+{
+ insert ("\\Upsilon");
+}
+
+tex_Phi (...)
+{
+ insert ("\\Phi");
+}
+
+tex_Psi (...)
+{
+ insert ("\\Psi");
+}
+
+tex_Omega (...)
+{
+ insert ("\\Omega");
+}
diff --git a/support/brief-t/gresk.cm b/support/brief-t/gresk.cm
new file mode 100644
index 0000000000..ce9b16475c
--- /dev/null
+++ b/support/brief-t/gresk.cm
Binary files differ
diff --git a/support/brief-t/gresk.mnu b/support/brief-t/gresk.mnu
new file mode 100644
index 0000000000..ffd513382c
--- /dev/null
+++ b/support/brief-t/gresk.mnu
@@ -0,0 +1,40 @@
+<ctrl-g><a> alfa ;tex_alpha
+<ctrl-g><b> beta ;tex_beta
+<ctrl-g><g> gamma ;tex_gamma
+<ctrl-g><d> delta ;tex_delta
+<ctrl-g><e> epsilon ;tex_epsilon
+<ctrl-g><v><e> v-epsilon ;tex_varepsilon
+<ctrl-g><z> zeta ;tex_zeta
+<ctrl-g><E> eta ;tex_eta
+<ctrl-g><t><e> theta ;tex_theta
+<ctrl-g><v><t> vartheta ;tex_vartheta
+<ctrl-g><i> iota ;tex_iota
+<ctrl-g><k> kappa ;tex_kappa
+<ctrl-g><l> lambda ;tex_lambda
+<ctrl-g><m> mu ;tex_mu
+<ctrl-g><n> nu ;tex_nu
+<ctrl-g><x> xi ;tex_xi
+<ctrl-g><o> o ;tex_o
+<ctrl-g><p> pi ;tex_pi
+<ctrl-g><v><p> varpi ;tex_varpi
+<ctrl-g><r> rho ;tex_rho
+<ctrl-g><v><r> varrho ;tex_varrho
+<ctrl-g><s> sigma ;tex_sigma
+<ctrl-g><v><s> varsigma ;tex_varsigma
+<ctrl-g><t> tau ;tex_tau
+<ctrl-g><y> upsilon ;tex_upsilon
+<ctrl-g><f> phi ;tex_phi
+<ctrl-g><c> psi ;tex_psi
+<ctrl-g><w> omega ;tex_omega
+<ctrl-g><G> Gamma ;tex_Gamma
+<ctrl-g><D> Delta ;tex_Delta
+<ctrl-g><T> Theta ;tex_Theta
+<ctrl-g><L> Lambda ;tex_Lambda
+<ctrl-g><X> Xi ;tex_Xi
+<ctrl-g><P> Pi ;tex_Pi
+<ctrl-g><S> Sigma ;tex_Sigma
+<ctrl-g><Y> Upsilon ;tex_Upsilon
+<ctrl-g><F> Phi ;tex_Phi
+<ctrl-g><C> Psi ;tex_Psi
+<ctrl-g><W> Omega ;tex_Omega
+
diff --git a/support/brief-t/item.mnu b/support/brief-t/item.mnu
new file mode 100644
index 0000000000..49bb6b5459
--- /dev/null
+++ b/support/brief-t/item.mnu
@@ -0,0 +1,4 @@
+<ctrl-i><i> itemize ;itemize
+<ctrl-i><e> enumerate ;enumerate
+<ctrl-i><d> description ;description
+
diff --git a/support/brief-t/label.cb b/support/brief-t/label.cb
new file mode 100644
index 0000000000..6039d38506
--- /dev/null
+++ b/support/brief-t/label.cb
@@ -0,0 +1,94 @@
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*/
+/* */
+/* Pl Hedne 1990 */
+/* */
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*/
+_init (...)
+{
+ int label_key;
+ global label_key;
+
+ label_key=0;
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*/
+extern gen_help,
+ _reg_exp, // Regular expressions on/off.
+ _block_search; // Block search on/off.
+
+find_label (...)
+{
+ int line,col,line1,col1,match,ind,length,buf_key,
+ nwrite,maxlength,dum;
+
+ string text,label,fname,ext,bname;
+
+ maxlength=30;
+ message("Searching..");
+ inq_position (line, col);
+ top_of_buffer();
+
+/* inq_names(fname,ext,bname);
+ ind = search_string (".",fname,length,0,0);
+ if (ind>0) fname=substr(fname,1,ind-1);
+ fname=fname+".lbl";*/
+ fname="LABELS IN FILE "+bname;
+ label_key=create_buffer("labels",NULL,1);
+ buf_key=inq_buffer();
+ nwrite=0;
+ match=1;
+ while (match > 0)
+ {
+ match = search_fwd ("\\label\\{*\\}",1, 0, 0);
+ if (match > 0)
+ {
+ inq_position (line1, col1);
+ text = read();
+ text=trim(text);
+ length=strlen(text);
+ bname=text;
+ while ((ind=search_string(";",text,dum,0,0)) > 0)
+ text=substr(bname,1,ind-1)+":"+substr(bname,ind+1,length);
+ if (length>maxlength) maxlength=length;
+ while (strlen(text)<maxlength)
+ text=text+" ";
+
+ ind = search_string ("\\{*\\}",text,length,1,0);
+ if (length>2)
+ {
+ label=substr(text,ind+1,length-2);
+ set_buffer(label_key);
+ insert("Line %d: %s ;insert_text %c%s%c\n",line1,text,34,label,34);
+ set_buffer(buf_key);
+ ++nwrite;
+ }
+ }
+ move_rel(0, match);
+ }
+ move_abs (line, col);
+ if (nwrite>0)
+ {
+ message(" ");
+ text=gen_help(fname,label_key);
+ }
+ else
+ message("No labels in file.");
+
+/* delete_buffer(label_key);*/
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*/
+disp_label (...)
+{
+ string fname;
+ fname=" ";
+ if (label_key>0) fname=gen_help(fname,label_key);
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*/
+insert_text(...)
+{
+ string text;
+
+ if (get_parm (0, text)) insert(text);
+}
+
+
+
diff --git a/support/brief-t/label.cm b/support/brief-t/label.cm
new file mode 100644
index 0000000000..e7ee671b39
--- /dev/null
+++ b/support/brief-t/label.cm
Binary files differ
diff --git a/support/brief-t/latex.cb b/support/brief-t/latex.cb
new file mode 100644
index 0000000000..ffe0b387de
--- /dev/null
+++ b/support/brief-t/latex.cb
@@ -0,0 +1,548 @@
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*/
+/* */
+/* Pl Hedne 1990 */
+/* */
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*/
+/* #include "norsk.cb"*/
+extern begin_command;
+extern end_command;
+extern put_commands;
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+_init (...)
+{
+ int tabular_key,tabbing_key,thebib_key;
+ global tabular_key,tabbing_key,thebib_key;
+
+ tabular_key=0;
+ tabbing_key=0;
+ thebib_key=0;
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+/* ; */
+/* DOCUMENT ; */
+/* ; */
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+begin_document (...)
+{
+ int line, col, ins;
+
+ inq_position (line, col);
+ ins = insert_mode (1);
+ move_abs (1, 1);
+ insert ("\\documentstyle [12pt,a4,block] {article}" + "\n");
+ insert ("\\begin{document}" + "\n");
+ insert ("\\newcommand {\\grad} {$^{\\circ}$\\ }" + "\n");
+ move_abs (line + 2, col);
+ insert_mode (ins);
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+end_document (...)
+{
+ int line, col;
+
+ inq_position (line, col);
+ end_of_buffer ();
+ insert ("\n\\end{document}");
+ move_abs (line, col);
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+document (...)
+{
+ begin_document ();
+ end_document ();
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+kill (...)
+{
+ insert ("\\kill");
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+grad (...)
+{
+ insert ("\\grad ");
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+hline (...)
+{
+ insert ("\\hline");
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+tab_and (...)
+{
+ insert (" & ");
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+tab_gt (...)
+{
+ insert (" \\> ");
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+tab (...)
+{
+ insert ("\t");
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+end_enter (...)
+{
+ insert (" \\\\");
+ push_back (key_to_int ("<Enter>"));
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+/* ; */
+/* TABULAR ; */
+/* ; */
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+def_tabular (...)
+{
+ keyboard_push ();
+ assign_to_key ("<Tab>", "tab_and");
+ assign_to_key ("<Ctrl-Enter>", "end_enter");
+ assign_to_key ("<Ctrl-m>", "multicolumn");
+ assign_to_key ("<Ctrl-n>", "hline");
+ tabular_key = inq_keyboard ();
+ keyboard_pop (1);
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+begin_tabular (...)
+{
+ begin_command ("tabular");
+ if (tabular_key == 0) def_tabular ();
+ use_local_keyboard (tabular_key);
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+end_tabular (...)
+{
+ end_command ("tabular");
+ use_local_keyboard (0);
+ check_tab("tabular");
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+tabular (...)
+{
+ put_commands ("tabular");
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+table (...)
+{
+ int line,col,match;
+
+ put_commands ("table");
+ inq_position (line, col);
+ match=search_back("\\begin{table}",0,0,0,1);
+ if (match>0)
+ {
+ end_of_line();
+ insert("[htbp]");
+ move_abs(line,col);
+ }
+ insert ("\\centering\n");
+ move_rel(0,col);
+ insert("\\caption{}\n");
+ move_rel(0,col+1);
+ put_commands ("center");
+ put_commands ("minipage");
+ inq_position (line, col);
+ match=search_back("\\begin{minipage}",0,0,0,1);
+ if (match>0)
+ {
+ end_of_line();
+ insert("{1.0\\textwidth}");
+ move_abs(line,col);
+ }
+ put_commands ("tabular");
+}
+
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+/* ; */
+/* TABBING ; */
+/* ; */
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+def_tabbing (...)
+{
+ keyboard_push ();
+ assign_to_key ("<Tab>", "tab_gt");
+ assign_to_key ("<Ctrl-Enter>", "end_enter");
+ tabbing_key = inq_keyboard ();
+ keyboard_pop (1);
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+begin_tabbing (...)
+{
+ if (tabbing_key == 0) def_tabbing ();
+ use_local_keyboard (tabbing_key);
+ begin_command ("tabbing");
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+end_tabbing (...)
+{
+ int line, col, match, i;
+
+ int line1, col1, ntab, length;
+
+ int ins, j;
+
+ string text, mess;
+
+ end_command ("tabbing");
+ use_local_keyboard (0);
+
+/* pause_on_error (1);*/
+ inq_position (line, col);
+ match = search_back ("\\begin{tabbing}", 0, 0, 0);
+ if (match > 0)
+ {
+ inq_position (line1, col1);
+ move_abs (line1 + 1, 1); /* Line after \begin{... */
+ text = read_logic_line ();
+ text = translate_string (text, "\\>", "\\=");
+ text = translate_string (text, "\\\\", "");
+ text = translate_string (text, "\n", "");
+ text=text+" \\kill\n";
+ i = strlen (text);
+ move_abs (line1 + 1, 1);
+/* delete_char (i);*/
+ insert (text);
+ ++line;
+ ntab = 0;
+
+ while ((match = search_string ("\\=", text, length, 0, 0)) > 0)
+ {
+ ++ntab;
+ text = substr (text, match + 2);
+ }
+ if (ntab > 0)
+
+ {
+ inq_position (line1, col1); /* Logical line after \begin{... */
+ j = 1;
+ while (line1 < line - 1)
+ {
+ text = read_logic_line ();
+ i = 0;
+ ++j;
+ while ((match = search_string ("\\>", text, length, 0, 0)) > 0)
+ {
+ ++i;
+ text = substr (text, match + 1);
+ }
+ if (i != ntab)
+ {
+ if (i < ntab)
+ error ("Only %d tabs in line %d (tabbing line %d)!", i, line1, j);
+ else
+ error ("%d tabs in line %d (tabbing line %d) are too much!", i, line1, j);
+ }
+ inq_position (line1, col1);
+ ++line1;
+ move_abs (line1, col1);
+ }
+ }
+ move_abs (line, col);
+ }
+/* pause_on_error (0);*/
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+tabbing (...)
+{
+ put_commands ("tabbing");
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+/* ; */
+/* MINIPAGE ; */
+/* ; */
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+begin_minipage (...)
+{
+ begin_command ("minipage");
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+end_minipage (...)
+{
+ end_command ("minipage");
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+minipage (...)
+{
+ put_commands ("minipage");
+}
+
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+/* ; */
+/* ITEMIZE ; */
+/* ; */
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+begin_itemize (...)
+{
+ begin_command ("itemize");
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+end_itemize (...)
+{
+ end_command ("itemize");
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+itemize (...)
+{
+ put_commands ("itemize");
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+/* ; */
+/* enumerate ; */
+/* ; */
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+begin_enumerate (...)
+{
+ begin_command ("enumerate");
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+end_enumerate (...)
+{
+ end_command ("enumerate");
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+enumerate (...)
+{
+ put_commands ("enumerate");
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+/* ; */
+/* description ; */
+/* ; */
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+begin_description (...)
+{
+ begin_command ("description");
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+end_description (...)
+{
+ end_command ("description");
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+description (...)
+{
+ put_commands ("description");
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+/* ; */
+/* center ; */
+/* ; */
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+begin_center (...)
+{
+ begin_command ("center");
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+end_center (...)
+{
+ end_command ("center");
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+center (...)
+{
+ put_commands ("center");
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+/* ; */
+/* thebibliography ; */
+/* ; */
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+def_thebib (...)
+{
+ keyboard_push ();
+ assign_to_key ("<Ctrl-n>", "bibitem");
+ assign_to_key ("<Ctrl-Enter>", "end_enter");
+ thebib_key = inq_keyboard ();
+ keyboard_pop (1);
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+begin_thebibliography (...)
+{
+ begin_command ("thebibliography");
+ if (thebib_key == 0) def_thebib ();
+ use_local_keyboard (thebib_key);
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+end_thebibliography (...)
+{
+ end_command ("thebibliography");
+ use_local_keyboard (0);
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+thebibliography (...)
+{
+ put_commands ("thebibliography");
+}
+
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+/* ; */
+/* figure ; */
+/* ; */
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+begin_figure (...)
+{
+ begin_command ("figure");
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+end_figure (...)
+{
+ end_command ("figure");
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+figure (...)
+{
+ put_commands ("figure");
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+
+read_logic_line (...)
+{
+ int line, col;
+
+ string text;
+
+ /* (pause_on_error 1) */
+ inq_position (line, col);
+ text = read ();
+ while (index (text, "\\\\") == 0 && index (text, "\\end{") == 0)
+ {
+ move_abs (++line, 1);
+ text = text + read ();
+ /* (error "text = %s" text) */
+ }
+ return text;
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+
+translate_string (...)
+{
+ string text, dum, old, new;
+
+ int ind, length, i;
+
+ /* (pause_on_error 1) */
+ get_parm (0, text);
+ dum = text;
+ get_parm (1, old);
+ get_parm (2, new);
+ /* (error "text = %s old = %s new = %s" text old new) */
+ i = 0;
+ while ((ind = search_string (old, text, length, 0, 0)) > 0)
+ {
+ dum = substr (text, ind + length);
+ i = i + ind;
+ text = (substr (text, 1, ind - 1) + new) + dum;
+ /* (error "text = %s dum = %s" text dum ) */
+ }
+ return text;
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+check_tab (...)
+{
+ int line, col, match, i, j
+ ,line1,col1,ntab,length;
+ string text,mess,command;
+
+ get_parm (0,command);
+ inq_position (line, col);
+ sprintf(text,"\\begin{%s}",command);
+ match = search_back (text,0,0,0);
+ if (match > 0)
+ {
+ inq_position (line1, col1);
+ move_abs (line1 + 1, 1);
+ text = read_logic_line ();
+ ntab = 0;
+ while ((match = search_string ("&", text, length, 0, 0)) > 0)
+ {
+ ++ntab;
+ text = substr (text, match + 1);
+ }
+ if (ntab > 0)
+ {
+ move_abs (line1, col1);
+ end_of_line ();
+ if (command=="tabular")
+ insert ("{||c");
+ else
+ insert ("{c");
+ i = 0;
+ while (ntab > i)
+ {
+ if (command=="tabular")
+ insert ("|c");
+ else
+ insert ("c");
+ ++i;
+ }
+ if (command=="tabular")
+ insert ("||}");
+ else
+ insert ("}");
+ line1 = line1 + 1;
+ move_abs (line1, col1);
+ j = 0;
+ while (line1 < line - 1)
+ {
+ text = read_logic_line ();
+ ++j;
+ i = 0;
+ length = 0;
+ while ((match = search_string ("&", text, length, 0, 0)) > 0)
+ {
+ ++i;
+ text = substr (text, match + 1);
+ }
+ if (i != ntab)
+ {
+ if (i < ntab)
+ sprintf (mess, "Only %d tabs in line %d (%s line %d)!", i,line1,command, j);
+ else
+ sprintf (mess, "%d tabs in line %d (%s line %d) are too much!",i, line1,command, j);
+ error (mess);
+ beep ();
+ }
+ inq_position (line1, col1);
+ ++line1;
+ move_abs (line1, col1);
+ }
+ }
+ move_abs (line, col);
+ }
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+
+sfreport (...)
+{
+ insert("\\documentstyle[block,sflogo,sfreph]{article}\n");
+ insert("\\begin{document}\n");
+ insert(" \\begin{sfreport}\n");
+ insert(" \\sfrepmal\n");
+ insert(" \\sfrepno{STF11 }\n");
+ insert(" \\sfclass{}\n");
+ insert(" \\sftitle{}\n");
+ insert(" \\sfdate{\\today}\n");
+ insert(" \\sfpages{ / }\n");
+ insert(" \\sfauthor{}\n");
+ insert(" \\sfprojman{}\n");
+ insert(" \\sfdivision{Sintef 11}\n");
+ insert(" \\sfprojnum{11}\n");
+ insert(" \\sfisbnnum{}\n");
+ insert(" \\sfpricegr{}\n");
+ insert(" \\sfclient{}\n");
+ insert(" \\sfcliref{}\n");
+ insert(" \\sfabstract{}\n");
+ insert(" \\sfgroupi{}\n");
+ insert(" \\sfgroupii{}\n");
+ insert(" \\sfgroupin{}\n");
+ insert(" \\sfgroupiin{}\n");
+ insert(" \\sfkeywi{}\n");
+ insert(" \\sfkeywin{}\n");
+ insert(" \\sfkeywii{}\n");
+ insert(" \\sfkeywiin{}\n");
+ insert(" \\sfkeywiii{}\n");
+ insert(" \\sfkeywiiin{}\n");
+ insert(" \\end{sfreport}\n");
+ insert("\\end{document}\n");
+ move_rel(-26,16);
+}
diff --git a/support/brief-t/latex.cm b/support/brief-t/latex.cm
new file mode 100644
index 0000000000..147de948fb
--- /dev/null
+++ b/support/brief-t/latex.cm
Binary files differ
diff --git a/support/brief-t/latex.mnu b/support/brief-t/latex.mnu
new file mode 100644
index 0000000000..aa981adf11
--- /dev/null
+++ b/support/brief-t/latex.mnu
@@ -0,0 +1,33 @@
+<ctrl-F1> Toggle LaTex template on/off ;latex
+<ctrl-F2> Toggle norwegian characters/LaTex ;ToggleTex
+<ctrl-F3> Replace all norwegian characters ;nor_to_tex
+<shift-F3> Reverse ctrl-F3 ;tex_to_nor
+<ctrl-F4> Find all match on global search ;find_match
+<shift-F4> Display reult from last global search ;disp_match
+<ctrl-F7> Toggle Latex Math on/off ;ToggleMath
+$ Toggle Latex Math on/off ;ToggleMath
+<ctrl-F8> Find all \label{LABEL} in the file ;find_label
+<shift-F8> Display list of LABELS from last search ;disp_label
+<ctrl-a> array ;array
+<ctrl-b>.. \begin "command" ;display_help "gen" "latex.txt"
+<ctrl-c> \cite ;cite
+<ctrl-d> displaymath ;displaymath
+<ctrl-e>.. \end "command" ;display_help "gen" "latex.txt"
+<ctrl-f> figure ;figure
+<ctrl-g> \grad ;grad
+<ctrl-h> HELP ;display_help "gen" "latex.txt"
+<ctrl-i>.. \itemize ;gen_help "item.mnu"
+<ctrl-j> \footnote ;footnote
+<ctrl-k> \caption ;caption
+<ctrl-l> \label ;label
+<ctrl-m> \math ?? ;math
+<ctrl-n> tabbing ;tabbing
+<ctrl-o> table etc.... ;table
+<ctrl-q> equation ;equation
+<ctrl-r> \ref ;ref
+<ctrl-s>.. sections ;gen_help "section.mnu"
+<ctrl-t> tabular ;tabular
+<ctrl-u>.. \underline etc. ;gen_help "uthev.mnu"
+<ctrl-v> minipage ;minipage
+<ctrl-w> document header and footer ;document
+<ctrl-y> eqnarray ;eqnarray
diff --git a/support/brief-t/latex.txt b/support/brief-t/latex.txt
new file mode 100644
index 0000000000..b2371e6b1b
--- /dev/null
+++ b/support/brief-t/latex.txt
@@ -0,0 +1,92 @@
+ gen "gen"
+ MACRO PACKAGE FOR LATEX
+
+ The LaTex commands are inserted in the text by pressing the pre-
+ defined sequences of <ctrl-key>.
+
+ Some of the commands acts different if the user has marked a area
+ of text. For instance the command for underline, <ctrlu-u><u>, will
+ insert '\underline{}' in the text. However, if the word 'Text' is
+ highlighted, the same command will give as result '\underline{Tekst}'.
+
+ LaTex commands which consist of several lines, for instance:
+
+ \begin{tabular}
+ Linje 1
+ Linje 2
+ \end{tabular}
+ PgDn ==> Next page
+
+ will be inserted before and after a marked area if one exist.
+ If not, the LaTex commands will be inserted on separate lines
+ with the cursor located on an empty line inbetween. <ctrl-b> and
+ <ctrl-e> are reserved for these type of commands, and will in
+ combination with a valid keyboard sequence insert \begin{'command'}
+ and \end{'command'} respectively.
+
+ Example: Sequence <ctrl-b><t> will insert '\begin{tabular}' on
+ a new line with cursor placed on a empty line beneath.
+
+ Several environments have local key assignments when entered in
+ the prescribed way. For instance will <tab> and <ctrl-enter> in the
+ tabbing or tabular environment insert the appropriate LaTex
+ equivalents. Remember to leave the environment by pressing
+ <ctrl-e><'key'>.
+
+ PgUp ==> Previous page PgDn ==> Next page
+
+ Math mode may be entered by the sequence <ctrl-F7> or automatically
+ by means of the <ctrl-b> command. For instance pressing <ctrl-b><q>
+ will insert '\begin{equation}' and a message 'Math mode on' will
+ appear on the bottom line. A separate help menu with the local key
+ assignments in math mode are available when <ctrl-h> are entered.
+ Writing a '$' will also toggle math mode on/off automatically.
+
+ The sequence <ctrl-F3> is useful for writing documents which
+ include the norwegian special characters. The command will replace
+ all matches of ' ' in the file with the equivalent LaTex
+ commands. <shift-F3> will reverse the process. <ctrl-F2> redefines
+ the norwegian characters keyboard; pressing an '' will insert '\aa'.
+
+ All LABELS (\label{LABEL}) in a file may be searched out and displayed
+ as a list by pressing <ctrl-F8>. Pressing <enter> at a LABEL in
+ the list will automatically insert the LABEL at the current cursor
+ PgUp ==> Previous page PgDn ==> Next page
+
+ position. <shift-F8> will display the list again, but the list are not
+ updated since the last search (<ctrl-F8>).
+
+ <ctrl-F4>/<shift-F4> acts more or less the same way, but the list
+ displayed are the result form a global search of a user defined
+ search pattern. Normal BRIEF conventions are used in the search
+ procedure. The search will be performed on all buffers in the
+ buffer list, but the user will be prompted to continue before
+ changing buffer. Pressing <enter> on a match in the list will move the
+ cursor automatically to the actual line and buffer where the match
+ originated.
+
+ Pl Hedne
+ SINTEF avd. 11
+ 7034 Trondheim
+ phifk@termix.termo.unit.no
+ PgUp ==> Previous page
+
+ arrow "arrow"
+
+ <ctrl-a><arrow-key>
+
+ inserts the command for arrow according to the following selection of
+ arrow-key:
+
+ Up => \uparrow
+ Shift-Up => \Uparrow
+ Down => \downarrow
+ Shift-Down => \Downarrow
+ Left => \leftarrow
+ Shift-Left => \leftarrow
+ Right => \rightarrow
+ Shift-Right => \Rightarrow
+ Home => \nwarrow
+ PgUp => \nearrow
+ End => \swarrow
+ PgDn => \searrow
diff --git a/support/brief-t/latexh.cb b/support/brief-t/latexh.cb
new file mode 100644
index 0000000000..c2041f4bd4
--- /dev/null
+++ b/support/brief-t/latexh.cb
@@ -0,0 +1,180 @@
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*/
+/* */
+/* Pl Hedne 1990 */
+/* */
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*/
+#include "dialog.h"
+extern MathModus;
+
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+/* ; */
+/* ; */
+/* ; */
+/* ; */
+/* ; */
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+/* (macro _init */
+/* ((int help_id) */
+/* (string text) */
+/* (global help_id) */
+/* (= help_id (create_buffer "Help menu" "latex.mnu" 1)) */
+/* (sprintf text "Help ID = %d" help_id) */
+/* (message text) */
+/* ) */
+/* ) */
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+/* ; */
+/* -1 DIALOG_INIT The dialog manager has just been invoked ; */
+/* -2 DIALOG_ENTER_FIELD The cursor has just entered a non-list field ; */
+/* -3 DIALOG_ENTER_LIST The cursor has just entered a l ; */
+/* -4 DIALOG_ALTER_LIST The current item in a list has just been changed ; */
+/* -5 DIALOG_ALTER_MENU The current item in a menu has just been changed ; */
+/* -5 DIALOG_MOVE_MENU (Same as DIALOG_ALTER_ME ; */
+/* -6 DIALOG_PICK_MENU The user has just selected a menu button with Enter ; */
+/* -7 DIALOG_EXIT_FIELD The cursor has just left a non-list field ; */
+/* -8 DIALOG_EXIT_LIST The cursor has just left a l ; */
+/* -9 DIALOG_TERM The dialog manager is exit ; */
+/* -10 DIALOG_ESCAPE The user has just pressed Esc to exit all levels ; */
+/* -11 DIALOG_F10 The user has just pressed F10 to save a dialog box ; */
+/* -12 DIALOG_GREY_MINUS The user has just pressed the keypad minus key ; */
+/* -13 DIALOG_CREATE_MENU A menu buffer has just been made current ; */
+/* -14 DIALOG_CREATE_DBOX A dialog box data buffe ; */
+/* ; */
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+
+pro_help (...)
+{
+ int event, line, retval, exe_sw;
+
+ string text, macro_name;
+
+ global macro_name, exe_sw;
+
+ get_parm (0, event);
+ get_parm (1, line);
+ get_parm (2, text);
+
+ switch (event)
+ {
+ case DIALOG_INIT:
+ {
+ retval = TRUE;
+ /* (message "DIALOG INIT") */
+ }
+ case DIALOG_ENTER_FIELD:
+ {
+ retval = TRUE;
+ /* (message "DIALOG_ENTER_FIELD") */
+ }
+ case DIALOG_ENTER_LIST:
+ {
+ retval = TRUE;
+ /* (message "DIALOG_ENTER_LIST") */
+ }
+ case DIALOG_ALTER_LIST:
+ {
+ retval = TRUE;
+ /* (message "DIALOG_ALTER_LIST") */
+ }
+ case DIALOG_ALTER_MENU:
+ {
+ retval = TRUE;
+ /* (message "DIALOG_ALTER_MENU") */
+ }
+ case DIALOG_MOVE_MENU:
+ {
+ retval = TRUE;
+ /* (message "DIALOG_MOVE_MENU") */
+ }
+ case DIALOG_PICK_MENU:
+ {
+ retval = TRUE;
+ /* (message "DIALOG_PICK_MENU") */
+ macro_name = substr (text, index (text, ";") + 1);
+ _dialog_esc ();
+ exe_sw = 1;
+ }
+ case DIALOG_EXIT_FIELD:
+ {
+ retval = TRUE;
+ /* (message "DIALOG_EXIT_FIELD") */
+ }
+ case DIALOG_EXIT_LIST:
+ {
+ retval = TRUE;
+ /* (message "DIALOG_EXIT_LIST") */
+ }
+ case DIALOG_TERM:
+ {
+ retval = TRUE;
+ /* (message "DIALOG_TERM") */
+ }
+ case DIALOG_ESCAPE:
+ {
+ exe_sw = 0;
+ retval = TRUE;
+ /* (message "DIALOG_ESCAPE") */
+ }
+ case DIALOG_F10:
+ {
+ retval = TRUE;
+ /* (message "DIALOG_F10") */
+ }
+ case DIALOG_GREY_MINUS:
+ {
+ retval = TRUE;
+ /* (message "DIALOG_GREY_MINUS") */
+ }
+ case DIALOG_CREATE_MENU:
+ {
+ retval = TRUE;
+ /* (message "DIALOG_CREATE_MENU") */
+ }
+ /* default */
+ default:
+ {
+ beep ();
+ /* (message "Illegal key") */
+ }
+ }
+ returns retval;
+}
+
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+latex_help (...)
+{
+ string file, title, msg, action;
+
+ title = "LaTex help";
+ msg = "Press ESC to continue, ENTER to pick";
+ file = "latex.mnu";
+ if (MathModus == 1)
+ file = "latexmat.mnu";
+ action = "pro_help";
+ /* (_process_menu lx by rx ty title msg filename buf_id action fast) */
+ _process_menu (10, 5, 10, 5, title, msg, file, NULL, action, 1);
+ /* (_process_menu 10 15 70 5 title msg NULL help_id action 1) */
+ if (exe_sw == 1)
+ execute_macro (macro_name);
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+string gen_help (...)
+{
+ string parameter,file, title, msg, action;
+ int buf_key,line;
+
+ title = "";
+ msg = "Press ESC to continue, ENTER to pick";
+ file = "";
+ action = "pro_help";
+ get_parm (0, file);
+ title=file;
+ exe_sw=0;
+ if (get_parm (1, buf_key))
+ _process_menu(10,5,10,5,title,msg,NULL,buf_key,action,1,line,parameter);
+ else
+ _process_menu (10,5,10,5,title,msg,file,NULL,action,1,line,parameter);
+ if (exe_sw == 1)
+ execute_macro (macro_name);
+ return(parameter);
+}
diff --git a/support/brief-t/latexh.cm b/support/brief-t/latexh.cm
new file mode 100644
index 0000000000..35cf2dd779
--- /dev/null
+++ b/support/brief-t/latexh.cm
Binary files differ
diff --git a/support/brief-t/latexmat.cb b/support/brief-t/latexmat.cb
new file mode 100644
index 0000000000..44f6ccbe8f
--- /dev/null
+++ b/support/brief-t/latexmat.cb
@@ -0,0 +1,517 @@
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*/
+/* */
+/* Pl Hedne 1990 */
+/* */
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*/
+/* #include "gresk.cb"*/
+extern begin_command, end_command, put_commands;
+extern embrace;
+extern tab_and, tab, open_line, end_enter;
+extern ToggleMath, MathModus;
+extern check_tab;
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+_init (...)
+{
+ int math_key;
+ global math_key;
+
+ math_key=0;
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+defmathkeys (...)
+{
+ keyboard_push ();
+
+ assign_to_key ("<Ctrl-End>", "subscript");
+ assign_to_key ("<Ctrl-Home>", "superscript");
+ assign_to_key ("<Ctrl-Right>", "geq");
+ assign_to_key ("<Ctrl-Left>", "leq");
+ assign_to_key ("<Ctrl-PgDn>", "neq");
+ assign_to_key ("<Ctrl-PgUp>", "simeq");
+ assign_to_key ("<Ctrl-->", "equiv");
+ assign_to_key ("<Ctrl-b><a>", "begin_array");
+ assign_to_key ("<Ctrl-b><d>", "begin_displaymath");
+ assign_to_key ("<Ctrl-b><e>", "begin_equation");
+ assign_to_key ("<Ctrl-b><m>", "begin_math");
+ assign_to_key ("<Ctrl-b><y>", "begin_eqnarray");
+ assign_to_key ("<Ctrl-a>", "arrow");
+ assign_to_key ("<Ctrl-c>", "approx");
+ assign_to_key ("<Ctrl-d>", "deriv");
+ assign_to_key ("<Ctrl-e><a>", "end_array");
+ assign_to_key ("<Ctrl-e><d>", "end_displaymath");
+ assign_to_key ("<Ctrl-e><e>", "end_equation");
+ assign_to_key ("<Ctrl-e><y>", "end_eqnarray");
+ assign_to_key ("<Ctrl-e><m>", "end_math");
+ assign_to_key ("<Ctrl-f>", "frac");
+
+ assign_to_key ("<Ctrl-g><a>", "tex_alpha");
+ assign_to_key ("<Ctrl-g><b>", "tex_beta");
+ assign_to_key ("<Ctrl-g><c>", "tex_psi");
+ assign_to_key ("<Ctrl-g><C>", "tex_Psi");
+ assign_to_key ("<Ctrl-g><d>", "tex_delta");
+ assign_to_key ("<Ctrl-g><D>", "tex_Delta");
+ assign_to_key ("<Ctrl-g><e>", "tex_epsilon");
+ assign_to_key ("<Ctrl-g><E>", "tex_eta");
+ assign_to_key ("<Ctrl-g><v><e>", "tex_varepsilon");
+ assign_to_key ("<Ctrl-g><f>", "tex_phi");
+ assign_to_key ("<Ctrl-g><F>", "tex_Phi");
+ assign_to_key ("<Ctrl-g><v><f>", "tex_varphi");
+ assign_to_key ("<Ctrl-g><g>", "tex_gamma");
+ assign_to_key ("<Ctrl-g><G>", "tex_Gamma");
+ assign_to_key ("<Ctrl-g><t><e>", "tex_theta");
+ assign_to_key ("<Ctrl-g><v><t>", "tex_vartheta");
+ assign_to_key ("<Ctrl-g><i>", "tex_iota");
+ assign_to_key ("<Ctrl-g><k>", "tex_kappa");
+ assign_to_key ("<Ctrl-g><l>", "tex_lambda");
+ assign_to_key ("<Ctrl-g><L>", "tex_Lambda");
+ assign_to_key ("<Ctrl-g><m>", "tex_mu");
+ assign_to_key ("<Ctrl-g><n>", "tex_nu");
+ assign_to_key ("<Ctrl-g><o>", "tex_o");
+ assign_to_key ("<Ctrl-g><p>", "tex_pi");
+ assign_to_key ("<Ctrl-g><v><p>", "tex_varpi");
+ assign_to_key ("<Ctrl-g><P>", "tex_Pi");
+ assign_to_key ("<Ctrl-g><r>", "tex_rho");
+ assign_to_key ("<Ctrl-g><v><r>", "tex_varrho");
+ assign_to_key ("<Ctrl-g><s>", "tex_sigma");
+ assign_to_key ("<Ctrl-g><S>", "tex_Sigma");
+ assign_to_key ("<Ctrl-g><v><s>", "tex_varsigma");
+ assign_to_key ("<Ctrl-g><t>", "tex_tau");
+ assign_to_key ("<Ctrl-g><T>", "tex_Theta");
+ assign_to_key ("<Ctrl-g><x>", "tex_xi");
+ assign_to_key ("<Ctrl-g><X>", "tex_Xi");
+ assign_to_key ("<Ctrl-g><y>", "tex_upsilon");
+ assign_to_key ("<Ctrl-g><Y>", "tex_Upsilon");
+ assign_to_key ("<Ctrl-g><z>", "tex_zeta");
+ assign_to_key ("<Ctrl-g><w>", "tex_omega");
+ assign_to_key ("<Ctrl-g><W>", "tex_Omega");
+
+ assign_to_key ("<Ctrl-i>", "infty");
+ assign_to_key ("<Ctrl-j>", "integral");
+ assign_to_key ("<Ctrl-k>", "dot");
+
+ assign_to_key ("<Ctrl-l><c>", "cos");
+ assign_to_key ("<Ctrl-l><e>", "exp");
+ assign_to_key ("<Ctrl-l><l>", "lim");
+ assign_to_key ("<Ctrl-l><s>", "sin");
+ assign_to_key ("<Ctrl-l><t>", "tan");
+
+ assign_to_key ("<Ctrl-n>", "nabla");
+ assign_to_key ("<Ctrl-o>", "overbrace");
+ assign_to_key ("<Ctrl-p>", "partial");
+ assign_to_key ("<Ctrl-r>", "prod");
+ assign_to_key ("<Ctrl-q>", "sqrt");
+ assign_to_key ("<Ctrl-s>", "sum");
+ assign_to_key ("<Ctrl-t>", "times");
+ assign_to_key ("<Ctrl-u><b>", "bold");
+ assign_to_key ("<Ctrl-u><c>", "caps");
+ assign_to_key ("<Ctrl-u><e>", "emphasize");
+ assign_to_key ("<Ctrl-u><i>", "italic");
+ assign_to_key ("<Ctrl-u><o>", "overline");
+ assign_to_key ("<Ctrl-u><r>", "roman");
+ assign_to_key ("<Ctrl-u><s>", "sansserif");
+ assign_to_key ("<Ctrl-u><t>", "typewriter");
+ assign_to_key ("<Ctrl-u><u>", "underline");
+ assign_to_key ("<Ctrl-v>", "angle");
+ assign_to_key ("<Ctrl-w>", "underbrace");
+
+ math_key = inq_keyboard ();
+ keyboard_pop (1);
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+MathKeys (...)
+{
+ if (math_key == 0) defmathkeys ();
+ use_local_keyboard (math_key);
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+NonMathKeys (...)
+{
+ use_local_keyboard (0);
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+partial (...)
+{
+ insert ("\\,\\partial ");
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+deriv (...)
+{
+ insert ("\\,{\\rm d}\\,");
+ move_rel(0,-2);
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+leq (...)
+{
+ insert ("\\leq ");
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+geq (...)
+{
+ insert ("\\geq ");
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+simeq (...)
+{
+ insert ("\\simeq ");
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+neq (...)
+{
+ insert ("\\neq ");
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+equiv (...)
+{
+ insert ("\\equiv ");
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+approx (...)
+{
+ insert ("\\approx ");
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+times (...)
+{
+ insert ("\\times ");
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+nabla (...)
+{
+ insert ("\\nabla ");
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+angle (...)
+{
+ insert ("\\angle ");
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+infty (...)
+{
+ insert ("\\infty ");
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+sum (...)
+{
+ insert ("\\sum");
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+integral (...)
+{
+ insert ("\\int");
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+cos (...)
+{
+ insert ("\\cos\\!\\,");
+ move_rel (0, -2);
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+exp (...)
+{
+ insert ("\\exp\\!\\,");
+ move_rel (0, -2);
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+lim (...)
+{
+ insert ("\\lim\\!\\,");
+ move_rel (0, -2);
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+sin (...)
+{
+ insert ("\\sin\\!\\,");
+ move_rel (0, -2);
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+tan (...)
+{
+ insert ("\\tan\\!\\,");
+ move_rel (0, -2);
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+prod (...)
+{
+ insert ("\\prod ");
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+arrow (...)
+{
+ sel_arrow ("arrow");
+}
+
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+sel_arrow (...)
+{
+ int ins, ichar;
+
+ string text, dumtext;
+
+ if (get_parm (0, text))
+ {
+ ins = insert_mode (1);
+ while ((ichar = read_char ()) < 0);
+ dumtext = int_to_key (ichar); /* .. to mnemonic code ("<alt>-d") */
+/* error ("dumtext = %s ", dumtext);*/
+ switch (dumtext)
+ {
+ case "<Up>":
+ {
+ upper (substr (text, 1, 1));
+ insert ("\\" + ("up" + (text + " ")));
+ }
+ case "<Down>":
+ {
+ upper (substr (text, 1, 1));
+ insert ("\\" + ("down" + (text + " ")));
+ }
+ case "<Left>":
+ {
+ upper (substr (text, 1, 1));
+ insert ("\\" + ("left" + (text + " ")));
+ }
+ case "<Right>":
+ {
+ upper (substr (text, 1, 1));
+ insert ("\\" + ("right" + (text + " ")));
+ }
+ case "<Shift-Up>":
+ {
+ upper (substr (text, 1, 1));
+ insert ("\\" + ("Up" + (text + " ")));
+ }
+ case "<Shift-Down>":
+ {
+ upper (substr (text, 1, 1));
+ insert ("\\" + ("Down" + (text + " ")));
+ }
+ case "<Shift-Left>":
+ {
+ upper (substr (text, 1, 1));
+ insert ("\\" + ("Left" + (text + " ")));
+ }
+ case "<Shift-Right>":
+ {
+ upper (substr (text, 1, 1));
+ insert ("\\" + ("Right" + (text + " ")));
+ }
+ case "<End>":
+ {
+ upper (substr (text, 1, 1));
+ insert ("\\" + ("sw" + (text + " ")));
+ }
+ case "<Home>":
+ {
+ upper (substr (text, 1, 1));
+ insert ("\\" + ("nw" + (text + " ")));
+ }
+ case "<PgUp>":
+ {
+ upper (substr (text, 1, 1));
+ insert ("\\" + ("ne" + (text + " ")));
+ }
+ case "<PgDn>":
+ {
+ upper (substr (text, 1, 1));
+ insert ("\\" + ("se" + (text + " ")));
+ }
+ case "<Keypad-5>":
+ {
+ upper (substr (text, 1, 1));
+ insert ("\\" + ("Leftright" + (text + " ")));
+ }
+ /* default */
+ default:
+ push_back (ichar);
+ }
+ }
+}
+
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+dot (...)
+{
+ embrace ("dot",0);
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+sqrt (...)
+{
+ embrace ("sqrt",0);
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+frac (...)
+{
+ embrace ("frac",0);
+ move_rel (0, 1);
+ insert ("{}");
+ move_rel (0, -3);
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+underbrace (...)
+{
+ embrace ("underbrace",0);
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+overbrace (...)
+{
+ embrace ("overbrace",0);
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+subscript (...)
+{
+ embrace ("_", 1);
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+superscript (...)
+{
+ embrace ("^", 1);
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+/* ; */
+/* array ; */
+/* ; */
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+begin_array (...)
+{
+ int ikey;
+
+ begin_command ("array");
+
+ ToggleMath (1);
+
+ assign_to_key ("<Tab>", "tab_and");
+ assign_to_key ("<Ctrl-Enter>", "end_enter");
+
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+end_array (...)
+{
+ int line1, col1, ntab, length;
+ string text, mess;
+
+ end_command ("array");
+ assign_to_key ("<Tab>", "tab");
+ assign_to_key ("<Ctrl-Enter>", "open_line");
+ ToggleMath (0);
+ check_tab("array");
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+array (...)
+{
+ put_commands ("array");
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+/* ; */
+/* EQUATION ; */
+/* ; */
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+equation (...)
+{
+ put_commands ("equation");
+}
+
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+begin_equation (...)
+{
+ begin_command ("equation");
+ ToggleMath (1);
+}
+
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+
+end_equation (...)
+{
+ end_command ("equation");
+ ToggleMath (0);
+}
+
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+/* ; */
+/* EQNARRAY ; */
+/* ; */
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+eqnarray (...)
+{
+ put_commands ("eqnarray");
+}
+
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+
+begin_eqnarray (...)
+{
+
+ begin_command ("eqnarray");
+
+ ToggleMath (1);
+
+ assign_to_key ("<Tab>", "tab_and");
+ assign_to_key ("<Ctrl-Enter>", "end_enter");
+/* assign_to_key ("<Ctrl-n>", "nonumber");*/
+
+}
+
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+
+end_eqnarray (...)
+{
+ end_command ("eqnarray");
+ assign_to_key ("<Tab>", "tab");
+ assign_to_key ("<Ctrl-Enter>", "open_line");
+ ToggleMath (0);
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+/* ; */
+/* displaymath ; */
+/* ; */
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+displaymath (...)
+{
+ put_commands ("displaymath");
+}
+
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+
+begin_displaymath (...)
+{
+ begin_command ("displaymath");
+ ToggleMath (1);
+}
+
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+
+end_displaymath (...)
+{
+ end_command ("displaymath");
+ ToggleMath (0);
+}
+
+
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+/* ; */
+/* math ; */
+/* ; */
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+math (...)
+{
+ put_commands ("math");
+}
+
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+
+begin_math (...)
+{
+ begin_command ("math");
+ ToggleMath (1);
+}
+
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+
+end_math (...)
+{
+ end_command ("math");
+ ToggleMath (0);
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+nonumber (...)
+{
+ insert ("\nonumber");
+}
diff --git a/support/brief-t/latexmat.cm b/support/brief-t/latexmat.cm
new file mode 100644
index 0000000000..2e7cf3fc76
--- /dev/null
+++ b/support/brief-t/latexmat.cm
Binary files differ
diff --git a/support/brief-t/latexmat.mnu b/support/brief-t/latexmat.mnu
new file mode 100644
index 0000000000..5e22566392
--- /dev/null
+++ b/support/brief-t/latexmat.mnu
@@ -0,0 +1,41 @@
+<ctrl-F1> Toggle LaTex template on/off ;latex
+<ctrl-F2> Toggle norwegian characters/LaTex ;ToggleTex
+<ctrl-F3> Replace all norwegian characters ;nor_to_tex
+<shift-F3> Reverse ctrl-F3 ;tex_to_nor
+<ctrl-F4> Find all match on global search ;find_match
+<shift-F4> Display reult from last global search ;disp_match
+<ctrl-F7> Toggle Latex Math on/off ;ToggleMath
+$ Toggle Latex Math on/off ;ToggleMath
+<ctrl-F8> Find all \label{LABEL} in the file ;find_label
+<shift-F8> Display list of LABELS from last search ;disp_label
+<ctrl-End> subscript ;subscript
+<ctrl-Home> superscript ;superscript
+<ctrl-Right> \geq ;geq
+<ctrl-Left> \leq ;leq
+<ctrl-PgDn> \neq ;neq
+<ctrl-PgUp> \simeq ;simeq
+<ctrl-a>.. arrows ;display_help "arrow" "latex.txt"
+<ctrl-c> \approx ;approx
+<ctrl-d> \deriv ;deriv
+<ctrl-f> \frac ;frac
+<ctrl-g>.. greek letters ;gen_help "gresk.mnu"
+<ctrl-h> HELP ;display_help "gen" "latex.txt"
+<ctrl-i> \infty ;infty
+<ctrl-j> \integral ;integral
+<ctrl-k> \dot ;dot
+<ctrl-l>.. log-like functions gen_help "log_like.mnu"
+<ctrl-n> \nabla ;nabla
+<ctrl-o> \overbrace ;overbrace
+<ctrl-p> \partial ;partial
+<ctrl-q> \sqrt ;sqrt
+<ctrl-r> \prod ;prod
+<ctrl-s> \sum ;sum
+<ctrl-t> \times ;times
+<ctrl-u>.. underline etc. ;gen_help "uthev.mnu"
+<ctrl-v> \angle ;angle
+<ctrl-w> \underbrace ;underbrace
+
+
+
+
+
diff --git a/support/brief-t/lesmeg b/support/brief-t/lesmeg
new file mode 100644
index 0000000000..f8f4caac85
--- /dev/null
+++ b/support/brief-t/lesmeg
@@ -0,0 +1,76 @@
+Dette makrosettet inneholder en rekke nyttige tastatur tilordninger
+for skriving av LaTex dokumenter. Settet bestr av flgende filer:
+
+TEX - Initialisering.
+LATEX - Div. LATEX kommandoer for vanlig tekstmodus
+EMBRACE - Div. LATEX kommandoer.
+LATEXMAT - Div. LATEX kommandoer for mattemodus
+GRESK - Gresk alfabet
+NORSK - Omdefinerer norske spesialkarakterer til TEX
+ ekvivalenter. Global utskifting kan foretas begge
+ veier.
+LATEXH - Makroer for hjelpesystemet. Baserer seg p BRIEF's
+ DIALOG-MANAGER. DIALOG.H og DIALOG.CM m flgelig
+ vre tilgjengelige.
+GMATCH - Fasilitet for f opp en oversikt over alle treff
+ i en fil p et sk. Skingen flger vanlig BRIEF
+ standard
+LABEL - Variant av GMATCH som lager liste over alle LABEL
+ som finnes i filen.
+REMMER - Nyttig ved stavesjekking.
+ Erstatter det meste av LaTex kommandoene i filen
+ med kontrolltegn eller motsatt. LaTex kommandoen
+ legges ut p/hentes fra egen fil med .SAV betegnelse.
+ M brukes med forsiktighet. Lite utestet! Lastes ikke
+ automatisk.
+
+Sourcefilene har betegnelsen .CB og kompilert versjon .CM. De siste m
+ligge p en katalog som er definert i BPATH i AUTOEXEC.BAT. Typisk
+
+set bpath=;c:\brief\macros;c:\brief\uti
+
+I tillegg finnes et sett hjelpefiler som bestr av:
+LATEX.MNU
+LATEX.TXT
+GRESK.MNU
+ITEM.MNU
+SECTION.MNU
+UTHEV.MNU
+LATEXMAT.MNU
+
+Disse m ligge p en katalog som er definert i BPATH i AUTOECEX.BAT. Typisk
+
+set bhelp=c:\brief\help
+
+Makro pakken kan startes automatisk hver gang en .TEX fil lastes inn.
+Dette gjres ved legge inn flgende linjer i NN.M hvor NN er
+initialene til den respektive bruker (filen finnes p \BRIEF\MACROS\)
+
+(macro .tex
+ (
+ (if (== (inq_macro "tex") 0)
+ (load_macro "tex")
+ )
+ )
+)
+
+Husk kompilere makroen etterp (CM NN.M).
+Eventuelt kan man legge til -mTEX p BFLAGS i AUTOEXEC.BAT. Typisk
+
+set bflags=-i120k2l512Mrtu300z -mNN -mrestore -mTEX
+
+Dette medfrer at TEX makroen lastes inn hver gang man starter BRIEF.
+
+Nr makroen TEX er lastet inn kan LATEX makroen startes/slettes ved
+ trykke <Ctrl-F1>.
+Bruk av makroene burde g greit da det meste er dokumentert ved
+hjelpefunksjonen <Ctrl-h>.
+
+Trondheim 90.11.28
+
+Pl Hedne
+SINTEF avd. 11
+Tlf. 593551
+Mail: phifk@termx.termo.unit.no
+
+
diff --git a/support/brief-t/log_like.mnu b/support/brief-t/log_like.mnu
new file mode 100644
index 0000000000..eca52801b0
--- /dev/null
+++ b/support/brief-t/log_like.mnu
@@ -0,0 +1,5 @@
+<ctrl-l><c> \cos ;cos
+<ctrl-l><e> \exp ;exp
+<ctrl-l><l> \lim ;lim
+<ctrl-l><s> \sin ;sin
+<ctrl-l><t> \tan ;tan
diff --git a/support/brief-t/norsk.cb b/support/brief-t/norsk.cb
new file mode 100644
index 0000000000..e05965d33b
--- /dev/null
+++ b/support/brief-t/norsk.cb
@@ -0,0 +1,128 @@
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*/
+/* */
+/* Pl Hedne 1990 */
+/* */
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*/
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+/* ; */
+/* Macro for bytte ut norske tegn med LATEX kommandoer ; */
+/* ; */
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+
+nor_to_tex (...)
+{
+ int line, col;
+
+ message("Oversetter norske tegn til TEX ");
+ drop_bookmark (10, "Y");
+ move_abs (1, 1);
+ translate ("", "{\\ae}", 1, 0, 1);
+ move_abs (1, 1);
+ translate ("", "{\\o}", 1, 0, 1);
+ move_abs (1, 1);
+ translate ("", "{\\aa}", 1, 0, 1);
+ move_abs (1, 1);
+ translate ("", "{\\AE}", 1, 0, 1);
+ move_abs (1, 1);
+ translate ("", "{\\O}", 1, 0, 1);
+ move_abs (1, 1);
+ translate ("", "{\\AA}", 1, 0, 1);
+ goto_bookmark (10);
+ message(" ");
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+tex_to_nor (...)
+{
+ int line, col;
+
+ message("Oversetter TEX til norske tegn");
+ drop_bookmark (10, "Y");
+ move_abs (1, 1);
+ translate ("{\\ae}", "", 1, 0, 1);
+ move_abs (1, 1);
+ translate ("{\\o}", "", 1, 0, 1);
+ move_abs (1, 1);
+ translate ("{\\aa}", "", 1, 0, 1);
+ move_abs (1, 1);
+ translate ("{\\AE}", "", 1, 0, 1);
+ move_abs (1, 1);
+ translate ("{\\O}", "", 1, 0, 1);
+ move_abs (1, 1);
+ translate ("{\\AA}", "", 1, 0, 1);
+ goto_bookmark (10);
+ message(" ");
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+NormKeys (...)
+{
+ assign_to_key ("", "self_insert");
+ assign_to_key ("", "self_insert");
+ assign_to_key ("", "self_insert");
+ assign_to_key ("", "self_insert");
+ assign_to_key ("", "self_insert");
+ assign_to_key ("", "self_insert");
+}
+
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+TexKeys (...)
+{
+ assign_to_key ("", "AA");
+ assign_to_key ("", "aa");
+ assign_to_key ("", "AE");
+ assign_to_key ("", "ae");
+ assign_to_key ("", "OE");
+ assign_to_key ("", "oe");
+}
+
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+aa (...)
+{
+ insert ("{\\aa}");
+}
+
+AA (...)
+{
+ insert ("{\\AA}");
+}
+OE (...)
+{
+ insert ("{\\O}");
+}
+
+oe (...)
+{
+ insert ("{\\o}");
+}
+
+AE (...)
+{
+ insert ("{\\AE}");
+}
+ae (...)
+{
+ insert ("{\\ae}");
+}
+
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+mailnor (...)
+{
+ int line, col;
+
+ message("Oversetter norske tegn til mail norsk ");
+ drop_bookmark (10, "Y");
+ move_abs (1, 1);
+ translate ("", "ae", 1, 0, 1);
+ move_abs (1, 1);
+ translate ("", "o", 1, 0, 1);
+ move_abs (1, 1);
+ translate ("", "aa", 1, 0, 1);
+ move_abs (1, 1);
+ translate ("", "AE", 1, 0, 1);
+ move_abs (1, 1);
+ translate ("", "O", 1, 0, 1);
+ move_abs (1, 1);
+ translate ("", "AA", 1, 0, 1);
+ goto_bookmark (10);
+ message(" ");
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
diff --git a/support/brief-t/norsk.cm b/support/brief-t/norsk.cm
new file mode 100644
index 0000000000..291eed975a
--- /dev/null
+++ b/support/brief-t/norsk.cm
Binary files differ
diff --git a/support/brief-t/readme b/support/brief-t/readme
new file mode 100644
index 0000000000..4e5791960f
--- /dev/null
+++ b/support/brief-t/readme
@@ -0,0 +1,95 @@
+This set of BRIEF macros perform some useful keyboard assignments
+for writing LaTex documents. The following files are included in
+the macro package
+
+TEX - Initialise
+LATEX - LATEX commands for ordinary text mode
+EMBRACE - LATEX commands .
+LATEXMAT - LATEX commands for math mode
+GRESK - Greek alphabet
+NORSK - Redefine norwegian special characters to TEX
+ equivalents. Global translations may be performed
+ in both directions.
+LATEXH - MacroS for the help utility. Based upon the BRIEF's
+ DIALOG-MANAGER. DIALOG.H og DIALOG.CM must be
+ available.
+GMATCH - Facility to get a list of all match of a gloabal
+ search. The serach follows ordinary BRIEF
+ conventions. The macro will search all prompt the user
+ toconti
+LABEL - Make global list of all \label.. statements in the
+ file
+REMMER - Useful when spellchecking is performed.
+ Will replace LaTex commands in the file with
+ control codes (or oppositte) wich are ignored by
+ the spell checker. The commands are written to a
+ separate file named with SAV extension.
+ OBS! The command should be used with care!
+ The routines are not properly tested!
+
+The source files have extension CB and compiled files CM. The macros
+are compiled under BRIEF ver. 3.1.
+The compiled files must reside in a directory defined in the BPATH
+statement in AUTOEXEC.BAT.
+
+Example:
+set bpath=;c:\brief\macros;c:\uti\mymacros
+
+Included are also a set of help files:
+LATEX.MNU
+LATEX.TXT
+GRESK.MNU
+ITEM.MNU
+SECTION.MNU
+UTHEV.MNU
+LATEXMAT.MNU
+
+The help files must reside in a directory defined in the BHELP
+statement in AUTOEXEC.BAT.
+
+Example:
+set bhelp=c:\brief\help
+
+The macro package may be started automatically when a file with
+extension TEX are loaded. The following lines must then be included
+in your personal initial file named NN.M where NN are the initials
+given to the STARTUP program. The file resides in the directory
+\BRIEF\MACROS.
+
+(macro .tex
+ (
+ (if (== (inq_macro "tex") 0)
+ (load_macro "tex")
+ )
+ )
+)
+
+OBS! Remember to compile the macro afterwards. (Use: CM.EXE NN.M)
+Alternatively you could add the -mTEX option to the BFLAGS statement
+in AUTOEXEC.BAT. This will tell BRIEF to load the macro package
+whenever BRIEF starts.
+
+Example:
+set bflags=-i120k2l512Mrtu300z -mNN -mrestore -mTEX
+
+
+The third way to load the macro is to do it manually by means of the
+F9 command.
+
+When the macro TEX are loaded the LATEX macro is started/removed by
+pressing <Ctrl-F1>.
+
+To view the key assignments, online help is provided by pressing
+<Ctrl-h>.
+
+
+Trondheim 91.08.22
+
+Pl Hedne
+SINTEF avd. 11
+7034 Trondheim
+Norway
+Tlf. 07-593551
+Mail: phifk@termix.termo.unit.no
+
+
diff --git a/support/brief-t/remmer.cb b/support/brief-t/remmer.cb
new file mode 100644
index 0000000000..a07a7e8da5
--- /dev/null
+++ b/support/brief-t/remmer.cb
@@ -0,0 +1,146 @@
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*/
+/* */
+/* Pl Hedne 1990 */
+/* */
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*/
+_init (...)
+{
+ int save_key;
+ global save_key;
+
+ save_key=0;
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*/
+split_tex (...)
+{
+ int line,col,line1,col1,match,length,
+ buf_key,nwrite,ind;
+ string sdum,text,label,fname,bname,ext;
+ inq_names(fname,ext,bname);
+ ind = search_string (".",fname,length,0,0);
+ if (ind>0) fname=substr(fname,1,ind-1);
+ fname=fname+".sav";
+
+ ind=exist(fname);
+ if (ind != 0)
+ {
+ sprintf(text,"File %s exist. Continue (Y/N) ? ",fname);
+ get_parm (0, sdum, text, 1);
+ sdum=upper(sdum);
+ }
+ else
+ sdum="Y";
+
+ if (sdum == "Y")
+ {
+ if (ind!=0) del(fname);
+ message("Splitter...");
+ inq_position (line, col);
+ top_of_buffer();
+ save_key=create_buffer("Save",fname,0);
+ buf_key=inq_buffer();
+ nwrite=0;
+ match=1;
+/* pause_on_error(1);*/
+ while (match > 0)
+ {
+/* match=search_fwd("{{\\\\}|{\\{}*\\}}|{\\$*\\$}|{\\*$}",-1,0,0,1);*/
+/* match=search_fwd("{{\\\\}|{\\{}*\\}}|{\\$*\\$}|{\\\\[~ \t\n]+[ \t\n]}",-1,0,0,1);*/
+ match=search_fwd("{{\\\\}|{\\{}*\\}}|{\\$*\\$}|{\\\\[~ \t\n]+}",-1,0,0,1);
+ if (match > 0)
+ {
+ ++nwrite;
+ --match;
+ text = read(match);
+/* error("nw %d=%s",nwrite,text);*/
+ delete_char(match);
+ sprintf(label,"%c%d ",94,nwrite);
+ insert(label);
+ set_buffer(save_key);
+ insert(label);insert(text);insert("\n");
+/* error("Ins: %s %s",label,text);*/
+ set_buffer(buf_key);
+ sprintf(text,"Splitter...%d",nwrite);
+ message(text);
+ }
+ }
+ if (nwrite>0)
+ {
+ set_buffer(save_key);
+ write_buffer();
+ set_buffer(buf_key);
+ delete_buffer(save_key);
+ }
+ move_abs(line,col);
+ message(" ");
+ }
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*/
+join_tex (...)
+{
+ int line,col,line1,col1,match,save_match,length,
+ buf_key,nwrite,ind,fsave;
+ string text,label,fname,bname,ext,sdum;
+
+ inq_names(fname,ext,bname);
+ ind = search_string (".",fname,length,0,0);
+ if (ind>0) fname=substr(fname,1,ind-1);
+ fname=fname+".sav";
+ fsave=0;
+
+ message("Kobler...");
+ inq_position (line, col);
+ top_of_buffer();
+ save_key=create_buffer("Save",fname,0);
+ buf_key=inq_buffer();
+ nwrite=0;
+ match=1;
+/* pause_on_error(1);*/
+ while (match > 0)
+ {
+ ++nwrite;
+ sprintf(label,"%c%d ",94,nwrite);
+ match=search_fwd(label,0,0,0,1);
+ set_buffer(save_key);
+ save_match=search_fwd(label,0,0,0,1);
+/* error("label=%s,match=%d,smatch=%d",label,match,save_match);*/
+ if ((match > 0) && (save_match>0))
+ {
+ move_rel(0,save_match-1);
+ text = read();
+ ind=strlen(text)-1;
+ text=substr(text,1,ind);
+
+ set_buffer(buf_key);
+ delete_char(match-1);
+ insert(text);
+ sprintf(text,"Join...%d",nwrite);
+ message(text);
+ }
+ else
+ {
+ if (!((match==0)&&(save_match==0)))
+ {
+ sprintf(text,"Warning: ^%d missing !! Continue (Y/N)?",nwrite);
+ get_parm (0, sdum, text, 1);
+ sdum=upper(sdum);
+ if (sdum != "Y")
+ {
+ match=0;
+ fsave=1;
+ }
+ else
+ {
+ match=1;
+ set_buffer(buf_key);
+ }
+ }
+ }
+ }
+ set_buffer(save_key);
+ delete_buffer(save_key);
+ set_buffer(buf_key);
+ if (fsave==0) del(fname);
+ move_abs(line,col);
+ message(" ");
+}
diff --git a/support/brief-t/remmer.cm b/support/brief-t/remmer.cm
new file mode 100644
index 0000000000..15798d8251
--- /dev/null
+++ b/support/brief-t/remmer.cm
Binary files differ
diff --git a/support/brief-t/section.mnu b/support/brief-t/section.mnu
new file mode 100644
index 0000000000..c78ebd7a33
--- /dev/null
+++ b/support/brief-t/section.mnu
@@ -0,0 +1,3 @@
+<ctrl-s><c> \chapter ;chapter
+<ctrl-s><s> \section ;section
+<ctrl-s><u> \subsection ;subsection
diff --git a/support/brief-t/sort.cb b/support/brief-t/sort.cb
new file mode 100644
index 0000000000..33d4fed19a
--- /dev/null
+++ b/support/brief-t/sort.cb
@@ -0,0 +1,157 @@
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*/
+/* */
+/* Pl Hedne 1991 */
+/* */
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*/
+sort (...)
+{
+ string pattern,text,word;
+ int line,col,line1,col1,linex,colx,mtype,wlength,ind;
+ int buf_key,scratch_key;
+ int i,j,wsum,linesum,linesummin,iline,nline;
+
+ pause_on_error(0);
+ scratch_key=create_buffer("Kladd ",NULL,1);
+/* error("scratch_key = %d",scratch_key);*/
+ buf_key=inq_buffer();
+
+ inq_position (line, col);
+ mtype = inq_marked (line1, col1, linex, colx);
+ if (mtype > 0)
+ {
+ pattern="";
+ text="Sort on word no.: ";
+ if (get_parm (0, pattern, text, NULL,pattern))
+ {
+ ind=atoi(pattern);
+ sprintf(text,"Sorting on column %d...",ind);
+ message(text);
+/* error("Sorting marked block on word %d",ind);*/
+ for (j=line1; j<=linex; ++j)
+ {
+ move_abs(j,col1);
+ text=read();
+ word=get_word(text,ind);
+ wlength=strlen(word);
+/* error(" Word returned = %s",word);*/
+ wsum=0;
+ if (wlength>4) wlength=4;
+ for (i=1; i<=wlength; ++i)
+ {
+/* error("sub=%s,atoi=%d",substr(word,i,1),atoi(substr(word,i,1),0));*/
+ wsum=wsum+exp127(atoi(substr(word,i,1),0),5-i);
+/* error(" Wsum(%d) = %d",i,wsum);*/
+ }
+/* error(" Wsum = %d",wsum);*/
+ set_buffer(scratch_key);
+ end_of_buffer();
+ sprintf(text,"%d\n",wsum);
+ insert(text);
+ set_buffer(buf_key);
+ }
+ nline=linex-line1+1;
+ set_buffer(scratch_key);
+ for (i=1; i<=nline; ++i)
+ {
+ linesummin=2147483647;
+ iline=i;
+ move_abs(i,1);
+ sprintf(text,"%d/%d done",i,nline);
+ message(text);
+ for (j=i; j<=nline; ++j)
+ {
+ text=read();
+ linesum=atoi(text);
+/* error("Line=%d sum=%d min=%d",j,linesum,linesummin);*/
+ if (linesum<linesummin)
+ {linesummin=linesum;
+ iline=j;
+ }
+ move_rel(1,0);
+ }
+ if (iline>i)
+ {
+ swap_lines(i,iline);
+ set_buffer(buf_key);
+ swap_lines(line1+i-1,line1+iline-1);
+ set_buffer(scratch_key);
+ }
+ }
+ set_buffer(buf_key);
+ }
+ }
+ pause_on_error(0);
+ move_abs(line,col);
+ message(" ");
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*/
+get_word(string text, int wno)
+{
+ string mword;
+ int ind,wlength;
+ int wcount=0;
+
+ text=ltrim(text);
+/* error("Index = %d Text = %s",ind,text);*/
+ do
+ {
+ ind=search_string("[\t\n, ]",text,0,1,0);
+/* error("Ind1 = %d text = %s",ind,text);*/
+ if (ind>0)
+ {
+ ++wcount;
+ if (wcount==wno)
+ {
+ mword=substr(text,1,ind-1);
+ return(mword);
+ }
+ text=substr(text,ind);
+/* error("Word no. %d = %s",wcount,mword);*/
+
+ ind=search_string("[~\t\n, ]",text,0,1,0);
+/* error("Ind2 = %d text = %s",ind,text);*/
+ text=substr(text,ind);
+ }
+ }
+ while((wcount<wno)&&(ind>0));
+ return(" ");
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*/
+exp127(int num, int exp)
+{
+ int i;
+ int val=1;
+
+ for (i=1; i<exp; ++i)
+ {
+ val=val*127;
+/* error(" val(%d) = %d",i,val);*/
+ }
+ num=num*val;
+ return num;
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*/
+swap_lines(int line1, int line2)
+{
+ string text1,text2;
+ int line,col;
+
+ inq_position (line, col);
+
+ move_abs(line1,1);
+ text1=read();
+ text1=trim(text1);
+ delete_to_eol();
+
+ move_abs(line2,1);
+ text2=read();
+ text2=trim(text2);
+ delete_to_eol();
+
+ move_abs(line2,1);
+ insert(text1);
+ move_abs(line1,1);
+ insert(text2);
+
+ move_abs(line,col);
+}
diff --git a/support/brief-t/sort.cm b/support/brief-t/sort.cm
new file mode 100644
index 0000000000..629ec22b30
--- /dev/null
+++ b/support/brief-t/sort.cm
Binary files differ
diff --git a/support/brief-t/tex.cb b/support/brief-t/tex.cb
new file mode 100644
index 0000000000..0b167c990f
--- /dev/null
+++ b/support/brief-t/tex.cb
@@ -0,0 +1,417 @@
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*/
+/* */
+/* Pl Hedne 1990 */
+/* */
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*/
+extern latex_help;
+extern MathKeys, NonMathKeys, DefMathKeys;
+extern TexKeys, NormKeys;
+extern math_key,tabbing_key,tabular_key,thebib_key;
+extern keyboard;
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+/* ; */
+/* ; */
+/* ; */
+/* ; */
+/* ; */
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+_init (...)
+{
+ assign_to_key ("<Ctrl-F1>", "latex");
+ message ("Ctrl-F1 aktiverer Latex macro Ver.PH/1.2");
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+/* ; */
+/* ; */
+/* ; */
+/* ; */
+/* ; */
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+latex (...)
+{
+ int ikey, on_off, NorModus, MathModus;
+
+ string command;
+
+ global NorModus, on_off, MathModus;
+
+ if (!on_off)
+ {
+ on_off = 1;
+
+/* if (!inq_macro("latex"))*/
+ load_macro ("latex");
+/* error ("Latex loaded.");*/
+/* if (!inq_macro("embrace"))*/
+ load_macro ("embrace");
+/* error ("Embrace loaded.");*/
+/* if (!inq_macro("latexmat"))*/
+ load_macro ("latexmat");
+/* error ("Latexmat loaded.");*/
+/* if (!inq_macro("gresk"))*/
+ load_macro ("gresk");
+/* error ("Gresk loaded.");*/
+
+ autoload ("label","find_label");
+/* error ("Flabel loaded.");*/
+ autoload ("gmatch","find_match");
+/* error ("Gmatch loaded.");*/
+ autoload ("latexh","latex_help","gen_help");
+/* error ("Latexh loaded.");*/
+ autoload ("norsk","nor_to_tex","tex_to_nor","NormKeys","TexKeys");
+/* error ("Norsk loaded.");*/
+ autoload ("remmer","split_tex","join_tex");
+/* error ("Remmer loaded.");*/
+
+ assign_to_key ("<Ctrl-F2>", "ToggleNor");
+ assign_to_key ("<Ctrl-F3>", "nor_to_tex");
+ assign_to_key ("<Shift-F3>", "tex_to_nor");
+ assign_to_key ("<Ctrl-F4>", "find_match");
+ assign_to_key ("<Shift-F4>", "disp_match");
+ assign_to_key ("<Ctrl-F7>", "ToggleMath");
+ assign_to_key ("<Ctrl-F8>", "find_label");
+ assign_to_key ("<Shift-F8>", "disp_label");
+ assign_to_key ("<Ctrl-F10>", "split_tex");
+ assign_to_key ("<Shift-F10>", "join_tex");
+ assign_to_key ("$", "dollar");
+
+ assign_to_key ("<Ctrl-a>", "array");
+
+ assign_to_key ("<Ctrl-b><a>", "begin_array");
+ assign_to_key ("<Ctrl-b><b>", "begin_thebibliography");
+ assign_to_key ("<Ctrl-b><d>", "begin_displaymath");
+ assign_to_key ("<Ctrl-b><f>", "begin_figure");
+ assign_to_key ("<Ctrl-b><i><i>", "begin_itemize");
+ assign_to_key ("<Ctrl-b><i><e>", "begin_enumerate");
+ assign_to_key ("<Ctrl-b><i><d>", "begin_description");
+ assign_to_key ("<Ctrl-b><m>", "begin_math");
+ assign_to_key ("<Ctrl-b><n>", "begin_tabbing");
+ assign_to_key ("<Ctrl-b><p>", "begin_minipage");
+ assign_to_key ("<Ctrl-b><q>", "begin_equation");
+ assign_to_key ("<Ctrl-b><t>", "begin_tabular");
+ assign_to_key ("<Ctrl-b><w>", "begin_document");
+ assign_to_key ("<Ctrl-b><y>", "begin_eqnarray");
+
+ assign_to_key ("<Ctrl-c>", "cite");
+ assign_to_key ("<Ctrl-d>", "displaymath");
+
+ assign_to_key ("<Ctrl-e><a>", "end_array");
+ assign_to_key ("<Ctrl-e><b>", "end_thebibliography");
+ assign_to_key ("<Ctrl-e><d>", "end_displaymath");
+ assign_to_key ("<Ctrl-e><f>", "end_figure");
+ assign_to_key ("<Ctrl-e><i><i>", "end_itemize");
+ assign_to_key ("<Ctrl-e><i><e>", "end_enumerate");
+ assign_to_key ("<Ctrl-e><i><d>", "end_description");
+ assign_to_key ("<Ctrl-e><n>", "end_tabbing");
+ assign_to_key ("<Ctrl-e><m>", "end_math");
+ assign_to_key ("<Ctrl-e><p>", "end_minipage");
+ assign_to_key ("<Ctrl-e><q>", "end_equation");
+ assign_to_key ("<Ctrl-e><t>", "end_tabular");
+ assign_to_key ("<Ctrl-e><w>", "end_document");
+ assign_to_key ("<Ctrl-e><y>", "end_eqnarray");
+
+ assign_to_key ("<Ctrl-f>", "figure");
+ assign_to_key ("<Ctrl-g>", "grad");
+ assign_to_key ("<Ctrl-h>", "latex_help");
+ assign_to_key ("<Ctrl-i><i>", "itemize");
+ assign_to_key ("<Ctrl-i><e>", "enumerate");
+ assign_to_key ("<Ctrl-i><d>", "description");
+ assign_to_key ("<Ctrl-i><d>", "description");
+ assign_to_key ("<Ctrl-j>", "footnote");
+ assign_to_key ("<Ctrl-k>", "caption");
+ assign_to_key ("<Ctrl-l>", "label");
+ assign_to_key ("<Ctrl-m>", "math");
+ assign_to_key ("<Ctrl-n>", "tabbing");
+ assign_to_key ("<Ctrl-o>", "table");
+/* ctrl-p = pop_up_error !! */
+ assign_to_key ("<Ctrl-q>", "equation");
+ assign_to_key ("<Ctrl-r>", "ref");
+ assign_to_key ("<Ctrl-s><c>", "chapter");
+ assign_to_key ("<Ctrl-s><s>", "section");
+ assign_to_key ("<Ctrl-s><u>", "subsection");
+ assign_to_key ("<Ctrl-t>", "tabular");
+ assign_to_key ("<Ctrl-u><b>", "bold");
+ assign_to_key ("<Ctrl-u><c>", "caps");
+ assign_to_key ("<Ctrl-u><e>", "emphasize");
+ assign_to_key ("<Ctrl-u><i>", "italic");
+ assign_to_key ("<Ctrl-u><o>", "overline");
+ assign_to_key ("<Ctrl-u><r>", "roman");
+ assign_to_key ("<Ctrl-u><s>", "sansserif");
+ assign_to_key ("<Ctrl-u><t>", "typewriter");
+ assign_to_key ("<Ctrl-u><u>", "underline");
+ assign_to_key ("<Ctrl-v>", "minipage");
+ assign_to_key ("<Ctrl-w>", "document");
+ assign_to_key ("<Ctrl-x>", "mbox");
+ assign_to_key ("<Ctrl-y>", "eqnarray");
+
+ NorModus = 0;
+ MathModus = 0;
+ assign_to_key ("<Enter>", "r_indent");
+ message ("Latex template installed.Press Ctrl-h for help.");
+ }
+ else
+ {
+ on_off = 0;
+ if (inq_macro("latex"))
+ {delete_macro ("latex");
+/* error ("Latex removed.");*/
+ }
+ if (inq_macro("embrace"))
+ {delete_macro ("embrace");
+/* error ("Embrace removed.");*/
+ }
+ if (inq_macro("latexmat"))
+ {delete_macro ("latexmat");
+/* error ("Latexmat removed.");*/
+ }
+ if (inq_macro("gresk"))
+ {delete_macro ("gresk");
+/* error ("Gresk removed.");*/
+ }
+
+ if (inq_macro("label"))
+ {delete_macro ("label");
+/* error ("Label removed.");*/
+ }
+ if (inq_macro("gmatch"))
+ {delete_macro ("gmatch");
+/* error ("Gmatch removed.");*/
+ }
+ if (inq_macro("latexh"))
+ {delete_macro ("latexh");
+/* error ("Latexh removed.");*/
+ }
+ if (inq_macro("norsk"))
+ {delete_macro ("norsk");
+/* error ("Norsk removed.");*/
+ }
+ if (inq_macro("remmer"))
+ {delete_macro ("remmer");
+/* error ("Remmer removed.");*/
+ }
+ message ("Latex template removed.");
+ keyboard();
+ }
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+/* ; */
+/* ; */
+/* EMBRACE ; */
+/* ; */
+/* ; */
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+embrace (...)
+{
+ int line, col, mtype, sw;
+
+ int mline1, mcol1, mlinex, mcolx;
+
+ string command;
+
+ get_parm (0, command);
+ get_parm (1, sw);
+ inq_position (line, col);
+ command = lower (command);
+ if (sw == -1)
+ command = "{" + ("\\" + (command + " "));
+ else if (sw == 1)
+ command = command + "{";
+ else
+ command = "\\" + (command + "{");
+ if (command == "\\cite{")
+ command = "~" + command;
+ if (command == "\\ref{")
+ command = "~" + command;
+ mtype = inq_marked (mline1, mcol1, mlinex, mcolx);
+ if (mtype > 0)
+ {
+ move_abs (mline1, mcol1);
+ insert (command);
+ move_abs (mline1, mcol1);
+ swap_anchor ();
+ move_abs (mlinex, mcolx + 1);
+ if (mline1 == line)
+ move_abs (mlinex, (mcolx + strlen (command)) + 1);
+ insert ("}");
+ inq_position (line, col);
+ move_abs (line, col - 1);
+ }
+ else
+ {
+ command = command + "}";
+ insert (command);
+ move_rel (0, -1);
+ }
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+/* */
+/* PUT COMMAND */
+/* */
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+begin_command (...)
+{
+ int line, col, ins;
+
+ string command;
+
+ if (get_parm (0, command))
+ {
+ ins = insert_mode (1);
+ inq_position (line, col);
+ move_rel (0, 1 - col);
+ insert ("\\begin{" + (command + "}\n"));
+ move_abs (line + 1, col + 4);
+ insert_mode (ins);
+ }
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+/* ; */
+/* PUT COMMAND ; */
+/* ; */
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+end_command (...)
+{
+ int line, col, ins;
+
+ string command;
+
+ if (get_parm (0, command))
+ {
+ ins = insert_mode (1);
+ inq_position (line, col);
+ move_rel (0, 1 - col);
+ insert ("\\end{" + (command + "}\n"));
+ move_abs (line + 1, col);
+ insert_mode (ins);
+ }
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+/* ; */
+/* ; */
+/* ; */
+/* ; */
+/* ; */
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+put_commands (...)
+{
+ int i, line, col, mtype;
+
+ int j, ins;
+
+ int mline1, mcol1, mlinex, mcolx;
+
+ string text, CR, command, ins_text;
+
+ get_parm (0, command);
+ command = lower (command);
+ ins_text = " ";
+ if (command == "itemize")
+ ins_text = " \\item ";
+ if (command == "enumerate")
+ ins_text = " \\item ";
+ sprintf (CR, "%c", 13);
+ inq_position (line, col);
+ mtype = inq_marked (mline1, mcol1, mlinex, mcolx);
+ ins = insert_mode (1);
+ if (mtype > 0)
+ {
+ move_abs (mline1, mcol1);
+ insert ("\\begin{" + (command + "}\n"));
+ move_abs (mline1, mcol1);
+ swap_anchor ();
+ i = mline1;
+ while (i < mlinex)
+ {
+ ++i;
+ move_abs (i, mcol1);
+ if (i == mline1 + 1 && mcol1 > 1)
+ {
+ j = 1;
+ move_abs (i, 1);
+ while (j < mcol1)
+ {
+ insert (" ");
+ ++j;
+ }
+ }
+ insert (ins_text);
+ }
+ move_abs (mlinex + 1, mcol1);
+ text = read ();
+ if (text != CR)
+ {
+ move_abs (mlinex + 1, mcol1);
+ insert (ins_text);
+ move_abs (mlinex + 2, 1);
+ if (mcol1 > 1)
+ {
+ j = 1;
+ while (j <= mcol1)
+ {
+ insert (" ");
+ ++j;
+ }
+ }
+ }
+ else
+ move_abs (mlinex + 1, mcol1);
+ insert ("\\end{" + (command + "}\n"));
+ move_abs (line + 2, 1);
+ end_of_line ();
+ }
+ else
+ {
+ insert ("\\begin{" + (command + "}\n\n"));
+ move_rel (0, col-1);
+ insert ("\\end{" + (command + "}"));
+ move_abs (line + 1, col + 4);
+ }
+ insert_mode (ins);
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+ToggleNor (...)
+{
+ if (NorModus == 1)
+ {
+ message ("Norsk tegnsett p");
+ NormKeys ();
+ NorModus = 0;
+ }
+ else
+ {
+ message ("Norsk tegnsett av");
+ TexKeys ();
+ NorModus = 1;
+ }
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+ToggleMath (...)
+{
+ int ipar;
+
+ if (get_parm (0, ipar))
+ MathModus=ipar;
+ else
+ {
+ if (MathModus == 0)
+ MathModus=1;
+ else
+ MathModus=0;
+ }
+ if (MathModus == 0)
+ {
+ NonMathKeys ();
+ message ("Math modus off");
+ }
+ else
+ {
+ MathKeys ();
+ message ("Math modus on");
+ }
+}
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */
+dollar (...)
+{
+ insert("$");
+ ToggleMath();
+}
diff --git a/support/brief-t/tex.cm b/support/brief-t/tex.cm
new file mode 100644
index 0000000000..3cb4979a14
--- /dev/null
+++ b/support/brief-t/tex.cm
Binary files differ
diff --git a/support/brief-t/uthev.mnu b/support/brief-t/uthev.mnu
new file mode 100644
index 0000000000..692d3316c1
--- /dev/null
+++ b/support/brief-t/uthev.mnu
@@ -0,0 +1,10 @@
+<ctrl-u><b> \bold ;bold
+<ctrl-u><c> \caps ;caps
+<ctrl-u><i> \italic ;italic
+<ctrl-u><m> \emphasize ;emphasize
+<ctrl-u><o> \overline (Math mode) ;overline
+<ctrl-u><r> \rm (Math mode) ;roman
+<ctrl-u><s> \sansserif ;sansserif
+<ctrl-u><t> \typewriter ;typewriter
+<ctrl-u><u> \underline ;underline
+