source: git/Singular/LIB/template.lib @ 66d68c

spielwiese
Last change on this file since 66d68c was 66d68c, checked in by Hans Schoenemann <hannes@…>, 14 years ago
format git-svn-id: file:///usr/local/Singular/svn/trunk@13499 2c84dea3-7e68-4137-9b89-c4e89433aadc
  • Property mode set to 100644
File size: 3.2 KB
Line 
1////////////////////////////////////////////////////////////////////
2version="$Id$";
3category="Miscellaneous";
4// summary description of the library
5info="
6LIBRARY:   template.lib  A Template for a Singular Library
7AUTHOR:    Olaf Bachmann, email: obachman@mathematik.uni-kl.de
8
9SEE ALSO:  standard_lib, Guidelines for writing a library,
10           Typesetting of help strings
11
12KEYWORDS: library, template.lib; template.lib; library, info string
13
14PROCEDURES:
15  mdouble(int)           return double of int argument
16  mtripple(int)          return three times int argument
17  msum([int,..,int])     sum of int arguments
18";
19////////////////////////////////////////////////////////////////////
20proc mdouble(int i)
21"USAGE:    mdouble(i); i int
22RETURN:   int: i+i
23NOTE:     Help string is in pure ASCII
24          this line starts on a new line since previous line is short
25          mdouble(i): no new line
26SEE ALSO: msum, mtripple, Typesetting of help strings
27KEYWORDS: procedure, ASCII help
28EXAMPLE:  example mdouble; shows an example"
29{
30  return (i + i);
31}
32example
33{ "EXAMPLE:"; echo = 2;
34  mdouble(0);
35  mdouble(-1);
36}
37////////////////////////////////////////////////////////////////////
38proc mtripple(int i)
39"@c we do texinfo here
40@table @asis
41@item @strong{Usage:}
42@code{mtripple(i)}; @code{i} int
43
44@item @strong{Return:}
45int: @math{i+i+i}
46@item @strong{Note:}
47Help is in pure Texinfo
48@*This help string is written in texinfo, which enables you to use,
49among others, the @@math command for mathematical typesetting (like
50@math{\alpha, \beta}).
51@*It also gives more control over the layout, but is, admittingly,
52more cumbersome to write.
53@end table
54@c use @c ref contstuct for references
55@cindex procedure, texinfo help
56@c ref
57@strong{See also:}
58@ref{mdouble}, @ref{msum}, @ref{Typesetting of help strings}
59@c ref
60"
61{
62  return (i + i + i);
63}
64example
65{ "EXAMPLE:"; echo = 2;
66  mtripple(0);
67  mtripple(-1);
68}
69////////////////////////////////////////////////////////////////////
70proc msum(list #)
71"USAGE:  msum([i_1,..,i_n]); @code{i_1,..,i_n} def
72RETURN:  Sum of int arguments
73NOTE:    This help string is written in a mixture of ASCII and texinfo
74         @* Use a @ref constructs for references (like @pxref{mtripple})
75         @* Use @code  for typewriter font (like @code{i_1})
76         @* Use @math  for simple math mode typesetting (like @math{i_1}).
77         @* Note: No parenthesis like } are allowed inside @math and @code
78         @* Use @example for indented preformatted text typeset in typewriter
79         font like
80@example
81         this  --> that
82@end example
83        Use @format  for preformatted text typeset in normal font
84@format
85         this --> that
86@end format
87        Use @texinfo for text in pure texinfo
88@texinfo
89@expansion{}
90@tex
91$i_{1,1}$
92@end tex
93
94@end texinfo
95        Notice that
96        automatic linebreaking         is still in affect (like on this line).
97SEE ALSO: mdouble, mtripple, Typesetting of help strings
98KEYWORDS: procedure, ASCII/Texinfo help
99EXAMPLE: example msum; shows an example"
100{
101  if (size(#) == 0) { return (0);}
102  if (size(#) == 1) { return (#[1]);}
103  int i;
104  def s = #[1];
105  for (i=2; i<=size(#); i++)
106  {
107    s = s + #[i];
108  }
109  return (s);
110}
111example
112{ "EXAMPLE:"; echo = 2;
113  msum();
114  msum(4);
115  msum(1,2,3,4);
116}
Note: See TracBrowser for help on using the repository browser.