<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.sternwarte.uni-erlangen.de/wiki/index.php?action=history&amp;feed=atom&amp;title=Help_for_ISIS%2FS-Lang</id>
	<title>Help for ISIS/S-Lang - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.sternwarte.uni-erlangen.de/wiki/index.php?action=history&amp;feed=atom&amp;title=Help_for_ISIS%2FS-Lang"/>
	<link rel="alternate" type="text/html" href="https://www.sternwarte.uni-erlangen.de/wiki/index.php?title=Help_for_ISIS/S-Lang&amp;action=history"/>
	<updated>2026-08-28T08:47:21Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.46.0</generator>
	<entry>
		<id>https://www.sternwarte.uni-erlangen.de/wiki/index.php?title=Help_for_ISIS/S-Lang&amp;diff=1662&amp;oldid=prev</id>
		<title>Kuehnel at 08:53, 31 July 2018</title>
		<link rel="alternate" type="text/html" href="https://www.sternwarte.uni-erlangen.de/wiki/index.php?title=Help_for_ISIS/S-Lang&amp;diff=1662&amp;oldid=prev"/>
		<updated>2018-07-31T08:53:51Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 10:53, 31 July 2018&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l151&quot;&gt;Line 151:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 151:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* discard &amp;lt;tt&amp;gt;yourfuns.tm&amp;lt;/tt&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* discard &amp;lt;tt&amp;gt;yourfuns.tm&amp;lt;/tt&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;lt;tt&amp;gt;add_doc_file(&quot;yourfuns.txt&quot;);&amp;lt;/tt&amp;gt; for ISIS to find your new help file. If you&#039;d like to have the help files available at all times without loading them by hand, you can add this command to your [[ISIS auto start (.isisrc)|.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;isissrc&lt;/del&gt;]]. As an alternative, you can add the help directly through &amp;lt;tt&amp;gt;yourfuns.sl&amp;lt;/tt&amp;gt; in the manner of the isisscripts:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;lt;tt&amp;gt;add_doc_file(&quot;yourfuns.txt&quot;);&amp;lt;/tt&amp;gt; for ISIS to find your new help file. If you&#039;d like to have the help files available at all times without loading them by hand, you can add this command to your [[ISIS auto start (.isisrc)|.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;isssrc&lt;/ins&gt;]]. As an alternative, you can add the help directly through &amp;lt;tt&amp;gt;yourfuns.sl&amp;lt;/tt&amp;gt; in the manner of the isisscripts:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;$1 = __FILE__[[:-4]]+&amp;quot;.txt&amp;quot;;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;$1 = __FILE__[[:-4]]+&amp;quot;.txt&amp;quot;;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Kuehnel</name></author>
	</entry>
	<entry>
		<id>https://www.sternwarte.uni-erlangen.de/wiki/index.php?title=Help_for_ISIS/S-Lang&amp;diff=1661&amp;oldid=prev</id>
		<title>Kuehnel at 08:53, 31 July 2018</title>
		<link rel="alternate" type="text/html" href="https://www.sternwarte.uni-erlangen.de/wiki/index.php?title=Help_for_ISIS/S-Lang&amp;diff=1661&amp;oldid=prev"/>
		<updated>2018-07-31T08:53:24Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 10:53, 31 July 2018&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l151&quot;&gt;Line 151:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 151:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* discard &amp;lt;tt&amp;gt;yourfuns.tm&amp;lt;/tt&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* discard &amp;lt;tt&amp;gt;yourfuns.tm&amp;lt;/tt&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;lt;tt&amp;gt;add_doc_file(&quot;yourfuns.txt&quot;);&amp;lt;/tt&amp;gt; for ISIS to find your new help file. If you&#039;d like to have the help files available at all times without loading them by hand, you can add this command to your &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;tt&amp;gt;&lt;/del&gt;.isisrc&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/tt&amp;gt;&lt;/del&gt;. As an alternative, you can add the help directly through &amp;lt;tt&amp;gt;yourfuns.sl&amp;lt;/tt&amp;gt; in the manner of the isisscripts:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;lt;tt&amp;gt;add_doc_file(&quot;yourfuns.txt&quot;);&amp;lt;/tt&amp;gt; for ISIS to find your new help file. If you&#039;d like to have the help files available at all times without loading them by hand, you can add this command to your &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[ISIS auto start (&lt;/ins&gt;.isisrc&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;)|.isissrc]]&lt;/ins&gt;. As an alternative, you can add the help directly through &amp;lt;tt&amp;gt;yourfuns.sl&amp;lt;/tt&amp;gt; in the manner of the isisscripts:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;$1 = __FILE__[[:-4]]+&amp;quot;.txt&amp;quot;;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;$1 = __FILE__[[:-4]]+&amp;quot;.txt&amp;quot;;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Kuehnel</name></author>
	</entry>
	<entry>
		<id>https://www.sternwarte.uni-erlangen.de/wiki/index.php?title=Help_for_ISIS/S-Lang&amp;diff=712&amp;oldid=prev</id>
		<title>Stierhof: Copy from old wiki, links missing</title>
		<link rel="alternate" type="text/html" href="https://www.sternwarte.uni-erlangen.de/wiki/index.php?title=Help_for_ISIS/S-Lang&amp;diff=712&amp;oldid=prev"/>
		<updated>2018-04-11T12:44:17Z</updated>

		<summary type="html">&lt;p&gt;Copy from old wiki, links missing&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;The help/description of S-Lang or ISIS functions -- which can be obtained, e.g., with &amp;lt;code&amp;gt;isis&amp;gt; help function_name&amp;lt;/code&amp;gt; --&lt;br /&gt;
is defined in plain text files.&lt;br /&gt;
(In order to take effect, these must be introduced to S-Lang&amp;#039;s help system via [http://www.jedsoft.org/slang/doc/html/slangfun-9.html#ss9.1 add_doc_file]&lt;br /&gt;
-- which is usually performed by S-Lang or ISIS itself, or by an external module.&lt;br /&gt;
[http://www.jedsoft.org/slang/doc/html/slangfun-9.html#ss9.5 get_doc_files] can be used to query at runtime which files are available.)&lt;br /&gt;
&lt;br /&gt;
Although these help files could, in principle, be edited directly,&lt;br /&gt;
most programs from the S-Lang ecosystem generate them from text macro files,&lt;br /&gt;
which are rendered by the [http://www.jedsoft.org/jed/madewithjed.html|tmexpand script (using jed)].&lt;br /&gt;
&lt;br /&gt;
Advantages of defining &amp;#039;&amp;#039;logically structured&amp;#039;&amp;#039; tm-files (using macros like &amp;lt;tt&amp;gt;\usage&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;\description&amp;lt;/tt&amp;gt;, ...) &lt;br /&gt;
--&lt;br /&gt;
rather than &amp;#039;&amp;#039;physically formatted&amp;#039;&amp;#039; help files -- are:&lt;br /&gt;
* The structural elements (like &amp;lt;tt&amp;gt;USAGE&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;DESCRIPTION&amp;lt;/tt&amp;gt;, ...) will always be rendered consistently.&lt;br /&gt;
* The same text macro file can be rendered in different formats -- for example also produce PDF documentation (see, e.g., the [http://www.jedsoft.org/slang/docs.html S-Lang] and [http://space.mit.edu/cxc/isis/manual.html ISIS] manuals) besides S-Lang help files.&lt;br /&gt;
(&amp;lt;tt&amp;gt;tmexpand&amp;lt;/tt&amp;gt; can simply use different macro definitions. Note the similarity to LaTeX!)&lt;br /&gt;
&lt;br /&gt;
For convenience (and more correct documentation... ;-)), text macros can be directly defined within the source code.&lt;br /&gt;
&amp;lt;tt&amp;gt;tmexpand&amp;lt;/tt&amp;gt; comes with a &amp;lt;tt&amp;gt;tm-strip&amp;lt;/tt&amp;gt; script that extracts text macros from comments enclosed by &amp;lt;tt&amp;gt;%!%+&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;%!%-&amp;lt;/tt&amp;gt; (in S-Lang files).&lt;br /&gt;
&lt;br /&gt;
A help definition within the ISISscripts,&lt;br /&gt;
which [http://www.sternwarte.uni-erlangen.de/git.public/?p=isisscripts;a=blob;f=doc/Makefile automatically] run the &amp;lt;tt&amp;gt;tm-strip&amp;lt;/tt&amp;gt; -- &amp;lt;tt&amp;gt;tmexpand&amp;lt;/tt&amp;gt; pipeline,&lt;br /&gt;
might look like that:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
%!%+&lt;br /&gt;
%\function{function_name}&lt;br /&gt;
%\synopsis{short description}&lt;br /&gt;
%\usage{type return_value = function_name( arguments );}&lt;br /&gt;
%\altusage{alternative usage, if applicable}&lt;br /&gt;
%\qualifiers{&lt;br /&gt;
%\qualifier{qualifier1}{: description}&lt;br /&gt;
%\qualifier...&lt;br /&gt;
%}&lt;br /&gt;
%\description&lt;br /&gt;
%   Describe the function and tell what it does.&lt;br /&gt;
%\example&lt;br /&gt;
%   Give an example of the usage here.&lt;br /&gt;
%\seealso{function_name2, function_name3}&lt;br /&gt;
%!%-&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For example, the help of the &amp;lt;tt&amp;gt;CCF_1D&amp;lt;/tt&amp;gt; function:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
%%%%%%%%%%%%%&lt;br /&gt;
define CCF_1d()&lt;br /&gt;
%%%%%%%%%%%%%&lt;br /&gt;
%!%+&lt;br /&gt;
%\function{CCF_1d}&lt;br /&gt;
%\synopsis{calculates the cross correlation function of two (1d) arrays}&lt;br /&gt;
%\usage{Double_Type CCF = CCF_1d(a1, a2, Integer_Type dx);&lt;br /&gt;
%\altusage{Array_Type CCF[] = CCF_1d(a1, a2);}&lt;br /&gt;
%}&lt;br /&gt;
%\qualifiers{&lt;br /&gt;
%\qualifier{notperiodic}{: no periodic boundary conditions at the edges.}&lt;br /&gt;
%}&lt;br /&gt;
%\description&lt;br /&gt;
%    The arrays \code{a1} and \code{a2} from which the CCF is to be computed can&lt;br /&gt;
%    either be passed directly or by a reference to the arrays (see example).&lt;br /&gt;
%    This function computes the correlation of a1[x] and a2[x-dx],&lt;br /&gt;
%    where the index x takes all values such that x and x-dx are contained:&lt;br /&gt;
%       \code{CCF = sum_x { (a1[x]-&amp;lt;a1&amp;gt;)/|a1| * (a2[x]-dx)-&amp;lt;a2&amp;gt;)/|a2| }}&lt;br /&gt;
%    The norm \code{|a| = sqrt{ sum_x a[x]^2 }} ensures that \code{CCF_1d(a, +-a, 0) = +-1}.&lt;br /&gt;
%    for any array \code{a}.\n&lt;br /&gt;
%    \n&lt;br /&gt;
%    If just a1 and a2 are give, the function returns an array which&lt;br /&gt;
%    contains all possible correlations between them. Its first entry&lt;br /&gt;
%    responds to dx=0, the second to dx=1, ... .\n&lt;br /&gt;
%    \n&lt;br /&gt;
%    By default, periodic boundary conditions are taken at the edges&lt;br /&gt;
%    of the array.&lt;br /&gt;
%    &lt;br /&gt;
%\example&lt;br /&gt;
%    variable a1 = Double_Type[N];  % some data&lt;br /&gt;
%    variable a2 = Double_Type[N];  % some other data&lt;br /&gt;
%    variable DX = [-N/2;N/2];&lt;br /&gt;
%    variable CCF = array_map(Double_Type, &amp;amp;CCF_1d, &amp;amp;a1, &amp;amp;a2, DX);&lt;br /&gt;
%    % If used with array_map, explicit references to a1 and a2 are required,&lt;br /&gt;
%    % as each function call to CCF_1d has to get the full array.&lt;br /&gt;
%    variable dx_opt = DX[where( abs(CCF) == max(abs(CCF)) )];\n&lt;br /&gt;
%    \n&lt;br /&gt;
%    or\n&lt;br /&gt;
%    \n&lt;br /&gt;
%    variable a1 = Double_Type[N]; &lt;br /&gt;
%    variable a2 = Double_Type[N]; &lt;br /&gt;
%    variable CCF[] = CFF_1d(a1,a2);&lt;br /&gt;
%\seealso{CCF_2d}&lt;br /&gt;
%!%-&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
gives the following output when called by &amp;lt;code&amp;gt;help CFF_1d&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 SYNOPSIS                                                                                       &lt;br /&gt;
    calculates the cross correlation function of two (1d) arrays                                &lt;br /&gt;
                                                                                                &lt;br /&gt;
 USAGE                                                                                          &lt;br /&gt;
    Double_Type CCF = CCF_1d(a1, a2, Integer_Type dx);                                          &lt;br /&gt;
    % or                                                                                        &lt;br /&gt;
    Array_Type CCF[] = CCF_1d(a1, a2);                                                          &lt;br /&gt;
&lt;br /&gt;
 QUALIFIERS&lt;br /&gt;
    ; notperiodic: no periodic boundary conditions at the edges.&lt;br /&gt;
&lt;br /&gt;
 DESCRIPTION&lt;br /&gt;
    The arrays a1 and a2 from which the CCF is to be computed can&lt;br /&gt;
    either be passed directly or by a reference to the arrays (see example).&lt;br /&gt;
    This function computes the correlation of a1[x] and a2[x-dx],&lt;br /&gt;
    where the index x takes all values such that x and x-dx are contained:&lt;br /&gt;
       CCF = sum_x { (a1[x]-&amp;lt;a1&amp;gt;)/|a1| * (a2[x]-dx)-&amp;lt;a2&amp;gt;)/|a2| }&lt;br /&gt;
    The norm |a| = sqrt{ sum_x a[x]^2 } ensures that CCF_1d(a, +-a, 0) = +-1.&lt;br /&gt;
    for any array a.&lt;br /&gt;
&lt;br /&gt;
    If just a1 and a2 are give, the function returns an array which&lt;br /&gt;
    contains all possible correlations between them. Its first entry&lt;br /&gt;
    responds to dx=0, the second to dx=1, ... .&lt;br /&gt;
&lt;br /&gt;
    By default, periodic boundary conditions are taken at the edges&lt;br /&gt;
    of the array.&lt;br /&gt;
&lt;br /&gt;
 EXAMPLE&lt;br /&gt;
    variable a1 = Double_Type[N];  % some data&lt;br /&gt;
    variable a2 = Double_Type[N];  % some other data&lt;br /&gt;
    variable DX = [-N/2;N/2];&lt;br /&gt;
    variable CCF = array_map(Double_Type, &amp;amp;CCF_1d, &amp;amp;a1, &amp;amp;a2, DX);&lt;br /&gt;
    % If used with array_map, explicit references to a1 and a2 are required,&lt;br /&gt;
    % as each function call to CCF_1d has to get the full array.&lt;br /&gt;
    variable dx_opt = DX[where( abs(CCF) == max(abs(CCF)) )];&lt;br /&gt;
&lt;br /&gt;
    or&lt;br /&gt;
&lt;br /&gt;
    variable a1 = Double_Type[N];&lt;br /&gt;
    variable a2 = Double_Type[N];&lt;br /&gt;
    variable CCF[] = CFF_1d(a1,a2);&lt;br /&gt;
&lt;br /&gt;
 SEE ALSO&lt;br /&gt;
    CCF_2d&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The macros &amp;lt;tt&amp;gt;\n&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;\code&amp;lt;/tt&amp;gt; are not relevant for plain text help files, &lt;br /&gt;
but may become important to structure {{:isis:ccf_1d.pdf|PDF output}}.&lt;br /&gt;
&lt;br /&gt;
=== Create your own help files ===&lt;br /&gt;
&lt;br /&gt;
Here is what you can do to use tm-strip and tmexpand to generate help files for your private function collections:&lt;br /&gt;
* install the [http://www.jedsoft.org/snapshots/ tmexpand package]&lt;br /&gt;
* copy the *.tm files from &amp;lt;tt&amp;gt;isisscripts/doc/share/&amp;lt;/tt&amp;gt; to where you can easily access them locally on you machine&lt;br /&gt;
* write the help to your own functions as explained above&lt;br /&gt;
* run &amp;lt;tt&amp;gt;tm-strip&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;tmexpand&amp;lt;/tt&amp;gt; as&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tm-strip yourfuns.sl &amp;gt;&amp;gt; yourfuns.tm&lt;br /&gt;
tmexpand -Ipath/to/isisscripts/doc/share -Mslhlp_isisscripts yourfuns.tm yourfuns.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* discard &amp;lt;tt&amp;gt;yourfuns.tm&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;add_doc_file(&amp;quot;yourfuns.txt&amp;quot;);&amp;lt;/tt&amp;gt; for ISIS to find your new help file. If you&amp;#039;d like to have the help files available at all times without loading them by hand, you can add this command to your &amp;lt;tt&amp;gt;.isisrc&amp;lt;/tt&amp;gt;. As an alternative, you can add the help directly through &amp;lt;tt&amp;gt;yourfuns.sl&amp;lt;/tt&amp;gt; in the manner of the isisscripts:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$1 = __FILE__[[:-4]]+&amp;quot;.txt&amp;quot;;&lt;br /&gt;
ifnot(path_is_absolute($1)) $1 = path_concat(getcwd(), $1);&lt;br /&gt;
if(stat_file($1)!=NULL) set_doc_files([$1, get_doc_files()]);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
However, this particular set of command only works if your help files are in the same folder as &lt;br /&gt;
your scripts and you are not accessing your script through a softlink. It works correctly, if you &lt;br /&gt;
required your function collection through a location that is added to your ISIS load path.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Isis / Slang]]&lt;/div&gt;</summary>
		<author><name>Stierhof</name></author>
	</entry>
</feed>