summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/babel-contrib/greek/grmath.dtx
blob: 000daadcd8623122ded484dd60b0ac94329ca972 (plain)
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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
% \iffalse meta-comment
%
% Copyright 1989-2008 Johannes L. Braams and any individual authors
% listed elsewhere in this file.  All rights reserved.
% 
% This file is part of the Babel system.
% --------------------------------------
% 
% It may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
% The latest version of this license is in
%   http://www.latex-project.org/lppl.txt
% and version 1.3 or later is part of all distributions of LaTeX
% version 2003/12/01 or later.
% 
% This work has the LPPL maintenance status "maintained".
% 
% The Current Maintainer of this work is Johannes Braams.
% 
% The list of all files belonging to the Babel system is
% given in the file `manifest.bbl. See also `legal.bbl' for additional
% information.
% 
% The list of derived (unpacked) files belonging to the distribution
% and covered by LPPL is defined by the unpacking scripts (with
% extension .ins) which are part of the distribution.
% \fi
%% \CheckSum{126}
%
%\iffalse
%
%% This is file `grmath.sty'
%% (c) 1997-2005 Apostolos Syropoulos.
%% All rights reserved.
%  You are allowed to modify this file as long the initial copyright notice
%  appears in the modified file.
%
%  Please report errors or suggestions for improvement to
%    
%    Apostolos Syropoulos
%    366, 28th October Str.
%    GR-671 00 Xanthi, GREECE
%    
%    apostolo at platon.ee.duth.gr or apostolo at obelix.ee.duth.gr
%
%\fi
%\iffalse
%    \begin{macrocode}
%<*driver>
\documentclass{ltxdoc}
\GetFileInfo{grmath.drv}
\begin{document}
   \DocInput{grmath.dtx}
\end{document}
%</driver>
%    \end{macrocode}
%\fi
%
% \changes{grmath-1.2}{2001/02/12}{Package provides options ``grlog'' 
%          (default) and ``enlog'' that create Greek and Latin names
%          log functions} 
%
% \title{Greek log-like Operators}
% \author{Apostolos Syropoulos\\
%         366, 28th October Str.\\
%         GR-671 00 Xanthi, HELLAS\\
%         E-mail: \texttt{apostolo@platon.ee.duth.gr}}
% \date{2001/02/12}
% \maketitle
%
% \MakeShortVerb{|}
% \section{What is this all about?}
% 
% In Greece, until recently, it was common practice to write down most
% log-like functions as abbreviations of their Greek names. Consequently, 
% high school students and even university freshmen were not familiar with 
% the Latin names employed in international literature. However, this practice
% is fading away in universities but it is still in wide use in books for
% high schools, mainly because the Latin names would produce nothing but
% confusion. The package |grmath| redefines most log-like definitions
% so that they produce the Greek name, instead of the Latin one. The package
% can be used only in conjunction with the |greek| option of the |babel|
% package. The new option |enlog| allows one to keep the Latin names for
% the log functions. 
% \StopEventually
%
% \section{The Implementation}
%
% As usual we must first identify ourselves.
%
%    \begin{macrocode}
%<*package>
\ProvidesPackage{grmath}[2001/02/12\space v1.2]
\typeout{Package: `grmath' v1.2\space <2001/02/12> (A. Syropoulos)}
%    \end{macrocode}
%
% The next thing we do is to process the options. The default option
% ``grlog'' generates Greek names for log functions and the ``enlog''
% option generates Latin names for log functions.
%    \begin{macrocode} 
\DeclareOption{grlog}{%
  \def\log{\mathop{\mathgroup\symgroperators log_{10}}\nolimits}
  \def\ln{\mathop{\mathgroup\symgroperators log_%
         {\mathgroup\symoperators e}}\nolimits}
}
\DeclareOption{enlog}{%
  \def\log{\mathop{\operator@font log}\nolimits}
  \def\ln{\mathop{\operator@font ln}\nolimits}
}
\ExecuteOptions{grlog}
\ProcessOptions
%    \end{macrocode}
% 
% Now we check to see if the |babel| package is loaded with at least
% the |greek| option. In case it isn't, we opt to produce an error message.
%    \begin{macrocode} 
\@ifpackagewith{babel}{greek}{}{%
     \@ifpackagewith{babel}{polutonikogreek}{}{%
     \PackageError{grmath}{%
     `greek' option of the `babel'\MessageBreak
      package hasn't been loaded}{%
      The commands provided by this package\MessageBreak
      are specially designed for greek language\MessageBreak
      typesetting with the `babel' package. Load\MessageBreak
      it with at least the `greek' option.}\relax
      }}
%    \end{macrocode}
%
% We define the mathematical font which will be used to typeset
% the log-like functions.
%    \begin{macrocode}
\DeclareSymbolFont{groperators}{LGR}{cmr}{m}{n}
\SetSymbolFont{groperators}{bold}{LGR}{cmr}{bx}{n}
%    \end{macrocode}
%
% We are now ready to proceed with the redefinitions of the log-like
% operator names. 
%    \begin{macrocode}
\def\sin{\mathop{\mathgroup\symgroperators hm}\nolimits}
\def\cos{\mathop{\mathgroup\symgroperators sun}\nolimits}
\def\tan{\mathop{\mathgroup\symgroperators ef}\nolimits}
\def\arcsin{\mathop{\mathgroup\symgroperators toxhm}\nolimits}
\def\arccos{\mathop{\mathgroup\symgroperators toxsun}\nolimits}
\def\arctan{\mathop{\mathgroup\symgroperators toxef}\nolimits}
\def\cot{\mathop{\mathgroup\symgroperators sf}\nolimits}
\def\sec{\mathop{\mathgroup\symgroperators tem}\nolimits}
\def\csc{\mathop{\mathgroup\symgroperators stem}\nolimits}
\def\gcd{\mathop{\mathgroup\symgroperators MKD}\nolimits}
%    \end{macrocode}
% In the standard \LaTeX\ distribution there is no provision for a
% Least Common Multiple (lcm) log-like operator. Since, this operator
% appears quite often in greek literature we opt to include it. Moreover,
% we include three more log-like functions: |\arccot|, |\arcsec| and
% |\arccsc|.
%    \begin{macrocode}
\def\lcm{\mathop{\mathgroup\symgroperators EKP}\nolimits}
\def\arccot{\mathop{\mathgroup\symgroperators toxsf}\nolimits}
\def\arcsec{\mathop{\mathgroup\symgroperators toxtem}\nolimits}
\def\arccsc{\mathop{\mathgroup\symgroperators toxstem}\nolimits}
%</package>
%    \end{macrocode}
%
% \section*{Dedication}
% I would like to dedicate this piece of work to my son 
% \begin{center}Demetrios-Georgios.\end{center}
% \Finale
\endinput