force use of pandoc version >= 3.1.12.2
The `bin/pandoc-wrapper.sh` tool will verify that the ssytem has a recent enough version of `pandoc(1)`. We explain why we insist on `pandoc(1)`. version >= 3.1.12.2 in comments where the $PANDOC_MIN_VERSION is set. Added `--wrap=preserve` as a default argument to `pandoc(1)`. While this change will impact every HTML file generated, we believe this will improve the ability of someone to look at the generated HTML and correlate with the original markdown. Changed `bin/pandoc-wrapper.sh` VERSION from "1.4.2 2024-03-17" to "1.4.3 2024-03-18". Performed `make www` to achieve all of the above and to generate HTML using the new `--wrap=preserve` `pandoc(1)` mode.
This commit is contained in:
1 parent
9eb7a54e9f
commit
b0b212acb1
402 files changed
+37061
-55132
No files matched your search
+76
-119
@@ -129,9 +129,9 @@
|
||||
|
||||
<h2 id="author"><a name="author"></a>Author:</h2>
|
||||
<ul>
|
||||
<li>Name: <a href="../../authors.html#Mauro_Persano">Mauro
|
||||
Persano</a><br> Location: <a href="../../location.html#BR">BR</a> -
|
||||
<em>Federative Republic of Brazil</em> (<em>Brazil</em>) <br><br></li>
|
||||
<li>Name: <a href="../../authors.html#Mauro_Persano">Mauro Persano</a><br>
|
||||
Location: <a href="../../location.html#BR">BR</a> - <em>Federative Republic of Brazil</em> (<em>Brazil</em>)
|
||||
<br><br></li>
|
||||
</ul>
|
||||
|
||||
<!-- END: next line ends content generated by: bin/output-index-author.sh -->
|
||||
@@ -141,129 +141,104 @@ Persano</a><br> Location: <a href="../../location.html#BR">BR</a> -
|
||||
|
||||
<h2 id="to-build">To build:</h2>
|
||||
<div class="sourceCode" id="cb1"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span></span></code></pre></div>
|
||||
<p>There is an alternate version of this entry which should work for
|
||||
Windows by setting binary mode on <code>stdout</code>. See <a
|
||||
href="#alternate-code">alternate code</a> below.</p>
|
||||
<p>There is an alternate version of this entry which should work for Windows by
|
||||
setting binary mode on <code>stdout</code>. See <a href="#alternate-code">alternate code</a> below.</p>
|
||||
<h2 id="to-use">To use:</h2>
|
||||
<div class="sourceCode" id="cb2"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./persano</span> p q [num frames]</span></code></pre></div>
|
||||
<h2 id="try">Try:</h2>
|
||||
<div class="sourceCode" id="cb3"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./try.sh</span></span></code></pre></div>
|
||||
<p>Open the <a href="https://en.wikipedia.org/wiki/GIF">GIF</a> files
|
||||
with a viewer capable of displaying animated GIFs and watch closely at
|
||||
the bottom of the picture (you may need to use <a
|
||||
href="https://www.lcdf.org/gifsicle/">gifsicle</a> - a great tool to
|
||||
manipulate animated GIFs - to slow down the animation and to compress
|
||||
the GIFs generated by the entry).</p>
|
||||
<p>Open the <a href="https://en.wikipedia.org/wiki/GIF">GIF</a> files with a viewer capable of
|
||||
displaying animated GIFs and watch closely at the bottom of the picture (you may
|
||||
need to use <a href="https://www.lcdf.org/gifsicle/">gifsicle</a> - a great tool to
|
||||
manipulate animated GIFs - to slow down the animation and to compress the GIFs
|
||||
generated by the entry).</p>
|
||||
<h2 id="alternate-code">Alternate code:</h2>
|
||||
<p>This (untested as we have no Windows system) version uses the Windows
|
||||
API functions <code>_setmode()</code> and <code>_fileno(3)</code> to set
|
||||
binary mode on <code>stdout</code> which should let it work with
|
||||
Windows.</p>
|
||||
<p>This (untested as we have no Windows system) version uses the Windows API
|
||||
functions <code>_setmode()</code> and <code>_fileno(3)</code> to set binary mode on <code>stdout</code> which should
|
||||
let it work with Windows.</p>
|
||||
<h3 id="alternate-build">Alternate build:</h3>
|
||||
<pre><code>make alt</code></pre>
|
||||
<h3 id="alternate-use">Alternate use:</h3>
|
||||
<p>Use <code>persano.alt</code> as you would <code>persano</code>
|
||||
above.</p>
|
||||
<p>Use <code>persano.alt</code> as you would <code>persano</code> above.</p>
|
||||
<h3 id="alternate-try">Alternate try:</h3>
|
||||
<div class="sourceCode" id="cb5"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./persano.alt</span> 3 16 <span class="op">></span> knot3-16.gif</span></code></pre></div>
|
||||
<p>Follow the same instructions, using different tools if necessary, as
|
||||
the above try section.</p>
|
||||
<p>Follow the same instructions, using different tools if necessary, as the above
|
||||
try section.</p>
|
||||
<h2 id="judges-remarks">Judges’ remarks:</h2>
|
||||
<p>If your system is one of those that distinguish between text and
|
||||
binary streams, you must know what to do to switch the standard output
|
||||
into binary mode (e.g., adding a line to the source code or specifying a
|
||||
<p>If your system is one of those that distinguish between text and binary
|
||||
streams, you must know what to do to switch the standard output into
|
||||
binary mode (e.g., adding a line to the source code or specifying a
|
||||
linker option).</p>
|
||||
<p>What needs to be done to fix the problem?</p>
|
||||
<p>Solving the author’s exercises below may or may not help.</p>
|
||||
<p>At the time of judging, the approximation of <a
|
||||
href="https://en.wikipedia.org/wiki/Pi">π</a> used in the program could
|
||||
not be found on <a href="https://mathworld.wolfram.com"
|
||||
class="uri">https://mathworld.wolfram.com</a>.</p>
|
||||
<p>At the time of judging, the approximation of
|
||||
<a href="https://en.wikipedia.org/wiki/Pi">π</a> used in the program could not be found on
|
||||
<a href="https://mathworld.wolfram.com" class="uri">https://mathworld.wolfram.com</a>.</p>
|
||||
<h2 id="authors-remarks">Author’s remarks:</h2>
|
||||
<p><strong>knot</strong> writes animated GIF images of rendered <a
|
||||
href="https://en.wikipedia.org/wiki/Torus_knot">torus knots</a> to
|
||||
standard output.</p>
|
||||
<p><strong>knot</strong> writes animated GIF images of rendered <a href="https://en.wikipedia.org/wiki/Torus_knot">torus
|
||||
knots</a> to standard output.</p>
|
||||
<h3 id="synopsis">SYNOPSIS</h3>
|
||||
<div class="sourceCode" id="cb6"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb6-1"><a href="#cb6-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./persano</span> p q [num frames]</span></code></pre></div>
|
||||
<h3 id="description">DESCRIPTION</h3>
|
||||
<p>A <code>(p,q)</code>-<a
|
||||
href="https://en.wikipedia.org/wiki/Torus_knot">torus knot</a> is a
|
||||
closed, non-intersecting curve on the surface of a <a
|
||||
href="https://en.wikipedia.org/wiki/Torus">torus</a> in R3 that winds
|
||||
<code>p</code> times around one cycle of the torus and <code>q</code>
|
||||
times around the other. <code>p</code> and <code>q</code> should be <a
|
||||
href="https://en.wikipedia.org/wiki/Coprime_integers">coprime</a>;
|
||||
otherwise, the resulting curve will <em>not</em> be a knot (that is,
|
||||
imagining the resulting curve as a loop of rubber, there will be a way
|
||||
to bend, twist and stretch it, without cutting it <a href="#fn1"
|
||||
class="footnote-ref" id="fnref1" role="doc-noteref"><sup>1</sup></a>,
|
||||
until it ends up looking just like a circle embedded in R3 <a
|
||||
href="#fn2" class="footnote-ref" id="fnref2"
|
||||
role="doc-noteref"><sup>2</sup></a>).</p>
|
||||
<p>A <code>(p,q)</code>-<a href="https://en.wikipedia.org/wiki/Torus_knot">torus knot</a> is a closed,
|
||||
non-intersecting curve on the surface of a
|
||||
<a href="https://en.wikipedia.org/wiki/Torus">torus</a> in R3 that winds <code>p</code> times around
|
||||
one cycle of the torus and <code>q</code> times around the other. <code>p</code> and <code>q</code> should be
|
||||
<a href="https://en.wikipedia.org/wiki/Coprime_integers">coprime</a>; otherwise, the
|
||||
resulting curve will <em>not</em> be a knot (that is, imagining the resulting curve as
|
||||
a loop of rubber, there will be a way to bend, twist and stretch it, without
|
||||
cutting it <a href="#fn1" class="footnote-ref" id="fnref1" role="doc-noteref"><sup>1</sup></a>, until it ends up looking just like a circle embedded in R3 <a href="#fn2" class="footnote-ref" id="fnref2" role="doc-noteref"><sup>2</sup></a>).</p>
|
||||
<p>Sample usage:</p>
|
||||
<div class="sourceCode" id="cb7"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb7-1"><a href="#cb7-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./persano</span> 3 2 1 <span class="op">></span> foo.gif</span></code></pre></div>
|
||||
<p>writes a non-animated GIF (a single frame) stream of a rendered
|
||||
trefoil knot to the file <code>foo.gif</code>.</p>
|
||||
<p>writes a non-animated GIF (a single frame) stream of a rendered trefoil
|
||||
knot to the file <code>foo.gif</code>.</p>
|
||||
<div class="sourceCode" id="cb8"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb8-1"><a href="#cb8-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./persano</span> 5 2</span></code></pre></div>
|
||||
<p>writes a GIF stream with a rendering of <a
|
||||
href="https://en.wikipedia.org/wiki/Solomon%27s_knot">Solomon’s Seal
|
||||
knot</a> to standard output; since the number of frames is not
|
||||
specified, an animation with 40 frames will be written.</p>
|
||||
<p>writes a GIF stream with a rendering of <a href="https://en.wikipedia.org/wiki/Solomon%27s_knot">Solomon’s Seal
|
||||
knot</a> to standard
|
||||
output; since the number of frames is not specified, an animation with
|
||||
40 frames will be written.</p>
|
||||
<p>Please view the code with 8-character tabs!</p>
|
||||
<h3 id="output-format">OUTPUT FORMAT</h3>
|
||||
<p>The program writes fully valid GIF 89 streams.</p>
|
||||
<p>It is suggested that the output be viewed with a program capable of
|
||||
displaying animated GIFs, such as almost any graphical HTTP browser.</p>
|
||||
<p>Due to code size constraints, full <a
|
||||
href="https://en.wikipedia.org/wiki/LZ77_and_LZ78#LZW">LZW
|
||||
compression</a> was not implemented <a href="#fn3" class="footnote-ref"
|
||||
id="fnref3" role="doc-noteref"><sup>3</sup></a>. In fact, the output
|
||||
images are even somewhat expanded, thanks to GIF overhead.</p>
|
||||
<p>The GIF format supports only a limited number of bits per pixel, so
|
||||
the program uses ordered dithering to emulate full RGB output.</p>
|
||||
<p>Due to code size constraints, full <a href="https://en.wikipedia.org/wiki/LZ77_and_LZ78#LZW">LZW
|
||||
compression</a> was not
|
||||
implemented <a href="#fn3" class="footnote-ref" id="fnref3" role="doc-noteref"><sup>3</sup></a>. In fact, the output images are even somewhat expanded, thanks
|
||||
to GIF overhead.</p>
|
||||
<p>The GIF format supports only a limited number of bits per pixel, so the
|
||||
program uses ordered dithering to emulate full RGB output.</p>
|
||||
<h3 id="portability">PORTABILITY</h3>
|
||||
<p>The program was tested on Linux, with gcc 3.1; Cygwin, with gcc 3.3;
|
||||
and Solaris/SPARC, with Sun’s C compiler.</p>
|
||||
<p>The program was tested on Linux, with gcc 3.1; Cygwin, with gcc 3.3; and
|
||||
Solaris/SPARC, with Sun’s C compiler.</p>
|
||||
<p>The only major portability issue should be reliance on ASCII.</p>
|
||||
<p>It should also be mentioned that the program won’t work on systems
|
||||
that distinguish between text and binary streams; however, since hardly
|
||||
anyone uses such systems in this day and age, this is a minor issue. <a
|
||||
href="#fn4" class="footnote-ref" id="fnref4"
|
||||
role="doc-noteref"><sup>4</sup></a></p>
|
||||
<p>It should also be mentioned that the program won’t work on systems that
|
||||
distinguish between text and binary streams; however, since hardly
|
||||
anyone uses such systems in this day and age, this is a minor issue. <a href="#fn4" class="footnote-ref" id="fnref4" role="doc-noteref"><sup>4</sup></a></p>
|
||||
<h3 id="exercises-for-the-reader">EXERCISES FOR THE READER</h3>
|
||||
<ol type="1">
|
||||
<li><p>(1 point) The surface is composed of many small polygons. Try to
|
||||
make it smoother by increasing the number of polygons.</p></li>
|
||||
<li><p>(2 points) Figure out how to change the radius of the tube cross
|
||||
section.</p></li>
|
||||
<li><p>(5 points) Locate the famous transcendental constant <a
|
||||
href="https://en.wikipedia.org/wiki/Pi">π</a> in the code.</p></li>
|
||||
<li><p>(1 point) The surface is composed of many small polygons. Try to make it
|
||||
smoother by increasing the number of polygons.</p></li>
|
||||
<li><p>(2 points) Figure out how to change the radius of the tube cross section.</p></li>
|
||||
<li><p>(5 points) Locate the famous transcendental constant
|
||||
<a href="https://en.wikipedia.org/wiki/Pi">π</a> in the code.</p></li>
|
||||
</ol>
|
||||
<h3 id="footnotes">FOOTNOTES</h3>
|
||||
<h2 id="copyright-and-cc-by-sa-4.0-license">Copyright and CC BY-SA 4.0
|
||||
License:</h2>
|
||||
<p>This file is Copyright (c) 2023 by Landon Curt Noll. All Rights
|
||||
Reserved. You are free to share and adapt this file under the terms of
|
||||
this license:</p>
|
||||
<h2 id="copyright-and-cc-by-sa-4.0-license">Copyright and CC BY-SA 4.0 License:</h2>
|
||||
<p>This file is Copyright (c) 2023 by Landon Curt Noll. All Rights Reserved.
|
||||
You are free to share and adapt this file under the terms of this license:</p>
|
||||
<pre><code>Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)</code></pre>
|
||||
<p>For more information, see:
|
||||
https://creativecommons.org/licenses/by-sa/4.0/</p>
|
||||
<section id="footnotes" class="footnotes footnotes-end-of-document"
|
||||
role="doc-endnotes">
|
||||
<p>For more information, see: https://creativecommons.org/licenses/by-sa/4.0/</p>
|
||||
<section id="footnotes" class="footnotes footnotes-end-of-document" role="doc-endnotes">
|
||||
<hr />
|
||||
<ol>
|
||||
<li id="fn1"><p>You can call such a transformation an “ambient isotopy”
|
||||
if you want to impress people at parties.<a href="#fnref1"
|
||||
class="footnote-back" role="doc-backlink">↩︎</a></p></li>
|
||||
<li id="fn2"><p>Also known as the “unknot”, which sounds slightly less
|
||||
impressive than “ambient isotopy”.<a href="#fnref2"
|
||||
class="footnote-back" role="doc-backlink">↩︎</a></p></li>
|
||||
<li id="fn3"><p>Unfortunately (for the author), the convenient excuse
|
||||
that LZW compression was not implemented in order to avoid the Unisys
|
||||
patent can no longer be used.<a href="#fnref3" class="footnote-back"
|
||||
role="doc-backlink">↩︎</a></p></li>
|
||||
<li id="fn4"><p>;)<a href="#fnref4" class="footnote-back"
|
||||
role="doc-backlink">↩︎</a></p></li>
|
||||
<li id="fn1"><p>You can call such a transformation an “ambient isotopy” if you want to
|
||||
impress people at parties.<a href="#fnref1" class="footnote-back" role="doc-backlink">↩︎</a></p></li>
|
||||
<li id="fn2"><p>Also known as the “unknot”, which sounds slightly less impressive than
|
||||
“ambient isotopy”.<a href="#fnref2" class="footnote-back" role="doc-backlink">↩︎</a></p></li>
|
||||
<li id="fn3"><p>Unfortunately (for the author), the convenient excuse that LZW compression
|
||||
was not implemented in order to avoid the Unisys patent can no longer be used.<a href="#fnref3" class="footnote-back" role="doc-backlink">↩︎</a></p></li>
|
||||
<li id="fn4"><p>;)<a href="#fnref4" class="footnote-back" role="doc-backlink">↩︎</a></p></li>
|
||||
</ol>
|
||||
</section>
|
||||
|
||||
@@ -272,42 +247,24 @@ role="doc-backlink">↩︎</a></p></li>
|
||||
|
||||
<!-- START: this line starts content generated by: bin/output-index-inventory.sh -->
|
||||
|
||||
<h1 id="inventory-for-2005persano"><a name="inventory"></a>Inventory for
|
||||
2005/persano</h1>
|
||||
<h1 id="inventory-for-2005persano"><a name="inventory"></a>Inventory for 2005/persano</h1>
|
||||
<p><a href="#top">Jump to top</a></p>
|
||||
<h2 id="primary-files">Primary files</h2>
|
||||
<ul>
|
||||
<li><a
|
||||
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2005/persano/persano.c">persano.c</a>
|
||||
- entry source</li>
|
||||
<li><a
|
||||
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2005/persano/Makefile">Makefile</a>
|
||||
- entry Makefile</li>
|
||||
<li><a
|
||||
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2005/persano/persano.alt.c">persano.alt.c</a>
|
||||
- alternative source</li>
|
||||
<li><a
|
||||
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2005/persano/persano.orig.c">persano.orig.c</a>
|
||||
- original source</li>
|
||||
<li><a
|
||||
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2005/persano/try.sh">try.sh</a>
|
||||
- how to run</li>
|
||||
<li><a href="2005_persano.tar.bz2">2005_persano.tar.bz2</a> - download
|
||||
entry source</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2005/persano/persano.c">persano.c</a> - entry source</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2005/persano/Makefile">Makefile</a> - entry Makefile</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2005/persano/persano.alt.c">persano.alt.c</a> - alternative source</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2005/persano/persano.orig.c">persano.orig.c</a> - original source</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2005/persano/try.sh">try.sh</a> - how to run</li>
|
||||
<li><a href="2005_persano.tar.bz2">2005_persano.tar.bz2</a> - download entry source</li>
|
||||
</ul>
|
||||
<h2 id="secondary-files">Secondary files</h2>
|
||||
<ul>
|
||||
<li><a href="index.html">index.html</a> - entry home page</li>
|
||||
<li><a
|
||||
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2005/persano/.entry.json">.entry.json</a>
|
||||
- description of entry in JSON</li>
|
||||
<li><a
|
||||
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2005/persano/.gitignore">.gitignore</a>
|
||||
- list of files that should not be committed under git</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2005/persano/.entry.json">.entry.json</a> - description of entry in JSON</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2005/persano/.gitignore">.gitignore</a> - list of files that should not be committed under git</li>
|
||||
<li><a href=".path">.path</a> - directory path from top directory</li>
|
||||
<li><a
|
||||
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2005/persano/README.md">README.md</a>
|
||||
- markdown source for index.html</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2005/persano/README.md">README.md</a> - markdown source for index.html</li>
|
||||
</ul>
|
||||
|
||||
<!-- END: next line ends content generated by: bin/output-index-inventory.sh -->
|
||||
|
||||
Reference in new issue
Block a user