summaryrefslogtreecommitdiff
path: root/support/brief-t/tex.cb
diff options
context:
space:
mode:
Diffstat (limited to 'support/brief-t/tex.cb')
-rw-r--r--support/brief-t/tex.cb417
1 files changed, 417 insertions, 0 deletions
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 @@
+/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*/
+/* */
+/* P†l 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();
+}