Skip to content

Chapter Submission

James Schloss edited this page Dec 2, 2021 · 11 revisions

If you wish to submit a new chapter to the Algorithm Archive, please contact James Schloss (Leios) to ensure that:

  1. The chapter fits into the broader scope of the Algorithm Archive
  2. There is enough material available to write the chapter
  3. 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.

Licensing

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.

Chapter contents

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):

  1. Does the chapter fit in to the Algorithm Archive by either building on existing material or building into a new section?
  2. Are all sources linked and referenced appropriately such that readers can learn more information when or if they have the desire?
  3. Are the graphics related to the chapter clear and understandable?
  4. Does the code have an appropriate walk-through in the text and is it easy to modify to other languages?

Chapter maintenance / upkeep

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.

Technical FAQ

  1. 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>
  1. 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.
  2. How do I import code into a chapter? For this, we use 2 different Honkit packages: include-codeblock and theme. 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 (just import) or specific lines of the file with import:1-2.
      • All supported languages can be found in book.json in the root directory. The lang:language specification is necessary for syntax highlighting.
    • theme: This allows users to switch languages in the upper left-hand corner (language tags can be found in book.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 %}
    
  3. 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.
  4. 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%">
    
  5. How do I cite papers? For this, we use the bibtex-cite plugin. Please add the bibtex entries to the literature.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 %}
    
Clone this wiki locally