File: babel.hlx

package info (click to toggle)
hyperlatex 2.5-4
  • links: PTS
  • area: main
  • in suites: woody
  • size: 480 kB
  • ctags: 288
  • sloc: lisp: 2,291; sh: 180; makefile: 86; awk: 21
file content (93 lines) | stat: -rw-r--r-- 2,584 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
%% -*-latex-*-
%%
%% Babel package for Hyperlatex
%%   .now allow to load more than one language description
%%   .language description come from "<lang>.hlx" file
%%
%% (c) 2000 Otfried Cheong
%%
%% Each language file should now provide \captions<lang> and \date<lang>
%% macros to set language dependent stuff like \refname, \abstractname, ...
%% and \today macros.
%% \extras<lang> and \noextras<lang> should also be defined to set
%% and unset other language dependent stuff like dedicated active characters.

\HlxEval{
(put 'selectlanguage 'hyperlatex 'hyperlatex-format-selectlanguage)
(put 'languagename 'hyperlatex 'hyperlatex-format-languagename)
(defvar hyperlatex-current-language)

(defun hyperlatex-format-selectlanguage ()
  (let* ((lang (hyperlatex-parse-required-argument)))
        (if (string= hyperlatex-current-language lang)
          ()
;    else
          (insert "\\noextras" hyperlatex-current-language "{}")
          (setq hyperlatex-current-language lang)
          (insert "\\extras" hyperlatex-current-language "{}")
          (goto-char hyperlatex-command-start)))
)

(defun hyperlatex-format-languagename ()
  hyperlatex-current-language
)

(defun hyperlatex-format-iflanguage ()
  (let ((lang (hyperlatex-parse-required-argument))
                (trueclause (hyperlatex-parse-required-argument))
                (falseclause (hyperlatex-parse-required-argument)))
        (if (string= hyperlatex-current-language lang)
          (insert trueclause)
;        else
          (insert falseclause))
        (goto-char hyperlatex-command-start))
)

(put 'HlxBabelInit 'hyperlatex 'hyperlatex-format-hlxbabelinit)
(put 'HlxBabelFinish 'hyperlatex 'hyperlatex-format-hlxbabelfinish)

(defun hyperlatex-format-hlxbabelinit ()
  ; last option is default language
  (setq hyperlatex-current-language (car (reverse hyperlatex-options))))

(defun hyperlatex-format-hlxbabelfinish ()
  (insert "\\extras" hyperlatex-current-language)
  (goto-char hyperlatex-command-start))
}

%% load user selected languages

\HlxBabelInit{}

\begin{ifoption}{french}
  \usepackage{french}
\end{ifoption}

\begin{ifoption}{german}
  \usepackage{german}
\end{ifoption}

\begin{ifoption}{italian}
  \usepackage{italian}
\end{ifoption}

\begin{ifoption}{portuges}
  \usepackage{portuges}
\end{ifoption}

\begin{ifoption}{dutch}
  \usepackage{dutch}
\end{ifoption}

\begin{ifoption}{german}
  \usepackage{german}
\end{ifoption}

\begin{ifoption}{english}
% no need to load english.hlx since it's done in siteinit.hlx
\end{ifoption}

%% switch to default language

\HlxBabelFinish{}