204 lines
7.6 KiB
EmacsLisp
204 lines
7.6 KiB
EmacsLisp
;;; context-nl.el --- Support for the ConTeXt dutch interface. -*- lexical-binding: t; -*-
|
|
|
|
;; Copyright (C) 2003, 2004, 2006, 2010,
|
|
;; 2015, 2020, 2021 Free Software Foundation, Inc.
|
|
|
|
;; Maintainer: Berend de Boer <berend@pobox.com>
|
|
;; Keywords: tex
|
|
|
|
;; This file is part of AUCTeX.
|
|
|
|
;; AUCTeX is free software; you can redistribute it and/or modify it
|
|
;; under the terms of the GNU General Public License as published by
|
|
;; the Free Software Foundation; either version 3, or (at your option)
|
|
;; any later version.
|
|
|
|
;; AUCTeX is distributed in the hope that it will be useful, but
|
|
;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
;; General Public License for more details.
|
|
|
|
;; You should have received a copy of the GNU General Public License
|
|
;; along with AUCTeX; see the file COPYING. If not, write to the Free
|
|
;; Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
|
|
;; 02110-1301, USA.
|
|
|
|
;;; Commentary:
|
|
|
|
;; This file is loaded by context.el when required.
|
|
|
|
;;; Code:
|
|
|
|
;; Build upon ConTeXt
|
|
(require 'context)
|
|
|
|
;;; ConText macro names
|
|
|
|
(defvar ConTeXt-environment-list-nl
|
|
'("achtergrond" "alinea" "bloktekst" "buffer" "citaat" "combinatie"
|
|
"commentaar" "deelomgeving" "document" "doordefinitie"
|
|
"doornummering" "figuur" "formule" "gegeven" "interactiemenu"
|
|
"kadertekst" "kantlijn" "kleur" "kolommen" "legenda" "lokaal"
|
|
"lokalevoetnoten" "margeblok" "naamopmaak" "naast"
|
|
"opelkaar" "opmaak" "opsomming" "overlay" "overzicht"
|
|
"paginafiguur" "positioneren" "profiel"
|
|
"regel" "regelcorrectie" "regelnummeren" "regels"
|
|
"smaller" "symboolset" "synchronisatie"
|
|
"tabel" "tabellen" "tabulatie" "tekstlijn" "typen"
|
|
"uitlijnen" "uitstellen" "vanelkaar" "verbergen" "versie"
|
|
;; project structure
|
|
"omgeving" "onderdeel" "produkt" "project"
|
|
;; flowcharts, if you have loaded this module
|
|
"FLOWcell" "FLOWchart"
|
|
;; typesetting computer languages
|
|
"EIFFEL" "JAVA" "JAVASCRIPT" "MP" "PASCAL" "PERL" "SQL" "TEX" "XML"
|
|
;; some metapost environments
|
|
"MPpositiongraphic" "useMPgraphic" "MPcode" "reusableMPgraphic"
|
|
"uniqueMPgraphic")
|
|
"List of the ConTeXt nl interface start/stop pairs.")
|
|
|
|
(defvar ConTeXt-define-list-nl
|
|
'("achtergrond" "startstop" "typen")
|
|
"List of ConTeXt nl interface macro's that define things.")
|
|
|
|
(defvar ConTeXt-setup-list-nl
|
|
'("achtergronden" "achtergrond" "alineas" "arrangeren" "blanko"
|
|
"blok" "blokjes" "blokkopje" "blokkopjes" "boven" "boventeksten"
|
|
"brieven" "buffer" "buttons" "citeren" "clip" "combinaties"
|
|
"commentaar" "doordefinieren" "doornummeren" "doorspringen"
|
|
"dunnelijnen" "externefiguren" "formules" "formulieren"
|
|
"hoofd" "hoofdteksten" "inmarge" "inspringen" "interactiebalk"
|
|
"interactie" "interactiemenu" "interactiescherm" "interlinie"
|
|
"invullijnen" "invulregels" "items" "kaderteksten" "kantlijn"
|
|
"kapitalen" "kleuren" "kleur" "kolommen" "kop" "kopnummer"
|
|
"koppelteken" "koppen" "koptekst" "korps" "korpsomgeving"
|
|
"labeltekst" "layout" "legenda" "lijndikte" "lijn" "lijst"
|
|
"margeblokken" "markering" "naastplaatsen" "nummeren" "omlijnd"
|
|
"onder" "onderstrepen" "onderteksten" "opmaak" "opsomming"
|
|
"paginanummer" "paginanummering" "paginaovergangen" "palet"
|
|
"papierformaat" "papier" "paragraafnummeren" "plaatsblok"
|
|
"plaatsblokken" "plaatsblokkensplitsen" "positioneren" "profielen"
|
|
"programmas" "publicaties" "rasters" "referentielijst" "refereren"
|
|
"regelnummeren" "regels" "register" "roteren" "samengesteldelijst"
|
|
"sectieblok" "sectie" "sheets" "smaller" "sorteren" "spatiering"
|
|
"stickers" "strut" "strut" "subpaginanummer" "symboolset"
|
|
"synchronisatiebalk" "synchronisatie" "synoniemen" "systeem"
|
|
"taal" "tabellen" "tab" "tabulatie" "tekst" "tekstlijnen"
|
|
"tekstpositie" "tekstteksten" "tekstvariabele" "tolerantie" "type"
|
|
"typen" "uitlijnen" "uitvoer" "url" "velden" "veld" "versies"
|
|
"voet" "voetnootdefinitie" "voetnoten" "voetteksten" "witruimte")
|
|
"List of the names of ConTeXt nl interface macro's that setup things.")
|
|
|
|
;; referencing in ConTeXt
|
|
(defvar ConTeXt-referencing-list-nl
|
|
'("in" "op" "over" "paginareferentie" "tekstreferentie" "referentie")
|
|
"List of ConTeXt nl macro's that are used for referencing."
|
|
)
|
|
|
|
(defvar ConTeXt-other-macro-list-nl
|
|
'("regellinks" "regelmidden" "regelrechts" "toonexternefiguren")
|
|
"List of ConTeXt nl interface macro's that are not an environment nor a setup.")
|
|
|
|
(defun ConTeXt-define-command-nl (what)
|
|
"The ConTeXt nl interface way of creating a define command."
|
|
(concat "definieer" what))
|
|
|
|
(defun ConTeXt-setup-command-nl (what)
|
|
"The ConTeXt nl interface way of creating a setup command."
|
|
(concat "stel" what "in"))
|
|
|
|
(defvar ConTeXt-project-structure-list-nl
|
|
'("project" "omgeving" "produkt" "onderdeel")
|
|
"List of ConTeXt project structure elements for its nl interface.
|
|
List should be in logical order.")
|
|
|
|
(defvar ConTeXt-section-block-list-nl
|
|
'("inleidingen" "hoofdteksten" "bijlagen" "uitleidingen")
|
|
"List of ConTeXt section block names for its nl interface.
|
|
List should be in logical order.")
|
|
|
|
|
|
;; TODO:
|
|
;; ConTeXt has alternative sections like title and subject. Currently
|
|
;; the level is used to find the section name, so the alternative
|
|
;; names are never found. Have to start using the section name instead
|
|
;; of the number.
|
|
(defvar ConTeXt-numbered-section-list-nl
|
|
'(("deel" 0)
|
|
("hoofdstuk" 1)
|
|
("paragraaf" 2)
|
|
("subparagraaf" 3)
|
|
("subsubparagraaf" 4))
|
|
"List of the names of ConTeXt numbered sections for its nl interface.")
|
|
|
|
(defvar ConTeXt-unnumbered-section-list-nl
|
|
'(("titel" 1)
|
|
("onderwerp" 2)
|
|
("subonderwerp" 3)
|
|
("subsubsubsubject" 4))
|
|
"List of the names of ConTeXt unnumbered sections for its nl interface.")
|
|
|
|
(defvar ConTeXt-text-nl "tekst"
|
|
"The ConTeXt nl interface body text group.")
|
|
|
|
(defvar ConTeXt-item-list-nl
|
|
'("som" "its" "mar" "ran" "sub" "sym")
|
|
"The ConTeXt macro's that are variants of item.")
|
|
|
|
(defcustom ConTeXt-default-environment-nl "opsomming"
|
|
"The default environment when creating new ones with `ConTeXt-environment'."
|
|
:group 'ConTeXt-nl-environment
|
|
:type 'string)
|
|
|
|
(defvar ConTeXt-extra-paragraph-commands-nl
|
|
'("crlf" "par" "plaats[A-Za-z]+")
|
|
"List of ConTeXt macros that should have their own line.
|
|
That is, besides the section(-block) commands.")
|
|
|
|
;; Emacs en menu names and labels should go here
|
|
;; to be done
|
|
|
|
|
|
;;; Mode
|
|
|
|
(defun ConTeXt-nl-mode-initialization ()
|
|
"ConTeXt dutch interface specific initialization."
|
|
(mapc #'ConTeXt-add-environments (reverse ConTeXt-environment-list-nl))
|
|
|
|
(TeX-add-symbols
|
|
'("but" ConTeXt-arg-define-ref (TeX-arg-literal " "))
|
|
'("som" ConTeXt-arg-define-ref (TeX-arg-literal " "))
|
|
'("items" [ConTeXt-arg-setup] (TeX-arg-string "Comma separated list"))
|
|
'("its" ConTeXt-arg-define-ref (TeX-arg-literal " "))
|
|
'("nop" (TeX-arg-literal " "))
|
|
'("ran" TeX-arg-string (TeX-arg-literal " "))
|
|
'("sub" ConTeXt-arg-define-ref (TeX-arg-literal " "))
|
|
'("sym" (TeX-arg-string "Symbol") (TeX-arg-literal " "))))
|
|
|
|
;;;###autoload
|
|
(defun context-nl-mode ()
|
|
"Major mode for editing files for ConTeXt using its dutch interface.
|
|
|
|
Special commands:
|
|
\\{ConTeXt-mode-map}
|
|
|
|
Entering `context-mode' calls the value of `text-mode-hook',
|
|
then the value of `TeX-mode-hook', and then the value
|
|
of `ConTeXt-mode-hook'."
|
|
(interactive)
|
|
|
|
;; set the ConTeXt interface
|
|
(setq ConTeXt-current-interface "nl")
|
|
|
|
;; initialization
|
|
(ConTeXt-mode-common-initialization)
|
|
(ConTeXt-nl-mode-initialization)
|
|
|
|
;; set mode line
|
|
(setq TeX-base-mode-name "ConTeXt-nl")
|
|
(TeX-set-mode-name))
|
|
|
|
(provide 'context-nl)
|
|
|
|
;;; context-nl.el ends here
|