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{}
|