Git Product home page Git Product logo

isc-hei-report's Introduction

GitHub Repo stars GitHub Release

ISC report template 📜

This is an official template for students reports for the ISC degree programme at the School of engineering in Sion. An example of the generated output can be accessed here.

Using the template

In the Typst web application, start with the isc-hei-report and voilà ! Using the CLI, you can initialize the project with the command :

typst init @preview/isc-hei-report:0.1.5

This template will initialize an sample report with sensible default values.

Installing fonts locally

If you are running typst locally, you might miss some of the required fonts. For your convenience, a font download script is included in this repos. As all the fonts are released under the SIL Open Font License, there are no file inclusion issues here.

To the install the fonts locally in a Linux environment, simply type

source install_fonts.sh

from within the fonts directory.

PDF images inclusion

Unfortunately, typst does not support PDF file types inclusion at the time of writing this documentation. As a temporary workaround, PDF files can be converted to SVG via pdf2svg.

Usage

When used locally, creating a PDF is straightforward with the command

typst compile report.typ

Even nicer, the following command compiles the report every time the file is modified.

typst watch report.typ

Another nice possibility is of course to use a VScod[e | ium] via the Typst LSP plugin which enables direct compilation.

Future changes

In the future, several things might be updated, such as :

  • State diagrams and UML diagrams examples
  • Glossary inclusion
  • Master thesis version of this template
  • Themes for code
  • Other nice things
  • Appendix
  • Acronyms inclusion
  • Basic support for including code files

Questions and help

If you need any help for installing or running those tools, do not hesitate to get in touch with its maintainer pmudry.

You can of course also propose changes using PR or raise issues if something is not clear. Have fun writing reports!

isc-hei-report's People

Contributors

lordbaryhobal avatar madeinshinea avatar pmudry avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

isc-hei-report's Issues

Translatable resources

It could be a good idea to add some automatic values depending on the language. This could be done by setting the default value to auto and using a dictionary of translatable words.

For example:

#let langs = (
  fr: (
    toc-title: "Table des matières"
  ),
  en: (
    toc-title: "Table of contents"
  )
)

#let i18n(lang, key) = {
  if not lang in langs {
    lang = "fr"
  }
  let keys = langs.at(lang)
  if not key in keys {
    panic("I18n key " + key + "doesn't exist")
  }
  return keys.at(key)
}
#let project(
  toc-title: auto
) = {
  if toc-title == auto {
    toc-title = i18n(language, "toc-title")
  }
}

Originally posted by @LordBaryhobal in #6 (comment)

Markdown in caption not working

In

#figure( 
  sourcecode()[
  ```scala 
  def foo(val a : Any) : Int = { 
    a match :  
      case a: Int  => 12
      case _ => 42
  }  
  ```],
  caption: "Un tout petit listing en `Scala`"
)

The Scala in the caption is rendered as is and not interpreted as real markdown. It seems hard to use eval for the caption itself (or I don't know how to do it right now).

Code themes

Provide ways to choose the way the code is displayed (colors, fonts etc...)

TOC problems

If the table of figures or other tables are empty, the title is generated nonetheless. Either let the user choose what to include or remove the header if not present (for instance, the problem was present in the SOS invader report).

UML and software engineering examples

  • Using #import "@preview/pintorita:0.1.1" for instance ?
  • UML class diagram and other schemas
  • State machines and time charts
  • ....
  • Document and make an example

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.