-
-
Notifications
You must be signed in to change notification settings - Fork 356
Chapter Submission
If you wish to submit a new chapter to the Algorithm Archive, please contact James Schloss (Leios) to ensure that:
- The chapter fits into the broader scope of the Algorithm Archive
- There is enough material available to write the chapter
- The chapter is not already in the process of being written
Chapter submissions are still a relatively new concept for the Algorithm Archive, so the review process might be a bit strict. If you have any questions or want to contact us, please feel free to go to Discord.
The text of the Algorithm Archive is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License (CC BY-SA); however, the figures and images can be licensed under any other compatible license, such as Public Domain (CC0) or the Creative Commons Attribution license (CC BY.
To indicate the licensing of the provided chapter, please modify the following license indication and place it at the end of your chapter:
## License
##### Code Examples
The code examples are licensed under the MIT license (found in [LICENSE.md](https://github.com/algorithm-archivists/algorithm-archive/blob/master/LICENSE.md)).
##### Text
The text of this chapter was written by [NAME](https://github.com/NAME) and is licensed under the [Creative Commons Attribution-ShareAlike 4.0 International License](https://creativecommons.org/licenses/by-sa/4.0/legalcode).
[<p><img class="center" src="../cc/CC-BY-SA_icon.svg" /></p>](https://creativecommons.org/licenses/by-sa/4.0/)
##### Images/Graphics
- The image "[example Image](res/example.png)" was created by [NAME](https://github.com/NAME) and is licenced under the [Creative Commons Attribution-ShareAlike 4.0 International License](https://creativecommons.org/licenses/by-sa/4.0/legalcode).
##### Pull Requests
The following pull requests have modified the text or graphics of this chapter:
- PR NUMBER
This text can be found in contents/cc/license.txt
.
If there is anyone who has majorly modified the contents of the text during the review process, please discuss attributing them in the license notification too.
Each chapter is expected to be a complete description of an algorithm, data structure, or method. As such, the text alone should be sufficient for readers to understand and write the algorithm for the first time. It is expected that all code written for the chapter conforms to the style appropriate for your language of choice (as indicated in the Code Style Guide. Each chapter will be reviewed based on 4 guiding criteria (in no particular order):
- Does the chapter fit in to the Algorithm Archive by either building on existing material or building into a new section?
- Are all sources linked and referenced appropriately such that readers can learn more information when or if they have the desire?
- Are the graphics related to the chapter clear and understandable?
- Does the code have an appropriate walk-through in the text and is it easy to modify to other languages?
The Algorithm Archive is an active platform for learning and discussion. As such, there may be requests for the modification or extension of your chapter content in the future. As a chapter contributor, you are not required to be present for discussions related to the modification of your chapter; however, we will always try to notify you when new code is contributed or when modifications are made, as you are the expert in all areas related to the chapter you have written. We will also notify you when any changes are made that modify the scope or organization of the Algorithm Archive in the future.
If you do not wish to take part in these discussions at any time in the future, please let James Schloss (Leios) know.
-
I want to use LaTeX! All LaTeX should work with mathjax and will need two
$
s to work correctly. For example,$$x$$
will render as$$x$$ . That said, sometimes the math might not load properly without a refresh. To fix this, put the following at the bottom of your chapter:
<script>
MathJax.Hub.Queue(["Typeset",MathJax.Hub]);
</script>
-
How do I add my chapter to the sidebar? Update the
SUMMARY.md
file in the root directory. Note that we have not set an official ordering for chapters yet, but we might in the future. -
How do I import code into a chapter? For this, we use 2 different Honkit packages:
include-codeblock
andtheme
. These both do different things-
include-codeblock
: This allows you to import code from another file with[import, lang:"typescript"](code/typescript/gauss_easter.ts)
. There are a few important things to note:- The
import
function can be used to import a full file (justimport
) or specific lines of the file withimport:1-2
. - All supported languages can be found in
book.json
in the root directory. Thelang:language
specification is necessary for syntax highlighting.
- The
-
theme
: This allows users to switch languages in the upper left-hand corner (language tags can be found inbook.json
) and looks like this:
{% method %} {% sample lang="jl" %} [import:27-46, lang:"julia"](code/julia/1d_convolution.jl) {% sample lang="cs" %} [import:63-84, lang:"csharp"](code/csharp/1DConvolution.cs) {% sample lang="py" %} [import:20-31, lang:"python"](code/python/1d_convolution.py) {% endmethod %}
-
- How do I tell a compelling story? Honestly, I don't even know. The truth is that when you learned the algorithm you are writing about for the first time, there was probably an "aha" moment where everything clicked. Try to recreate that. Visuals help a lot. If you can, please add these to your chapter.
-
How do I add images and videos? Right now, all images and videos are added directly to the AAA repository unless they are video abstracts put on another platform like youtube.
-
Video: Please try to keep the videos relatively compressed (within the MB range). In general, you shouldn't need to be higher than 1080p. Also: please keep them silent, if possible. Please remember that we would eventually like to print out the algorithm archive, so the easier it is to turn your video into a graphic, the better it is for the chapter!
- If using FFMPEG to make the video, please create an appropriate pallette.
- To add the video, I usually use html, like so:
<div style="text-align:center"> <video style="width:70%" controls loop> <source src="res/GE_vis.mp4" type="video/mp4"> Your browser does not support the video tag. </video> </div>
- Images: In general, images shouldn't need to be bigger than 1920x1080. SVGs are preferred, but not mandatory. I usually add the images with html, like so:
<img class="center" src="res/servois_1800.png" alt="Servois' 1800 table" style="width:80%">
-
Video: Please try to keep the videos relatively compressed (within the MB range). In general, you shouldn't need to be higher than 1080p. Also: please keep them silent, if possible. Please remember that we would eventually like to print out the algorithm archive, so the easier it is to turn your video into a graphic, the better it is for the chapter!
-
How do I cite papers? For this, we use the
bibtex-cite
plugin. Please add the bibtex entries to theliterature.bib
file in the root directory and use{{ "bien2004" | cite }}
to cite inline. Also add this blurb to the bottom of the chapter:### Bibliography {% references %} {% endreferences %}