diff --git a/angular.json b/angular.json
index 7af026e53aae99397903e282c14a0c8b32ea96ae..1b463deca38d935c10c23184080e848f7e21a6fd 100644
--- a/angular.json
+++ b/angular.json
@@ -49,7 +49,8 @@
             ],
             "scripts": [
               "node_modules/marked/marked.min.js",
-              "node_modules/katex/dist/katex.min.js"
+              "node_modules/katex/dist/katex.min.js",
+              "node_modules/katex/dist/contrib/auto-render.min.js"
             ],
             "allowedCommonJsDependencies": [
               "chartjs-plugin-zoom",
diff --git a/e2e/notes.e2e-spec.ts b/e2e/notes.e2e-spec.ts
new file mode 100644
index 0000000000000000000000000000000000000000..2419119a8fd078c4fa2d985da46bc34e7c954502
--- /dev/null
+++ b/e2e/notes.e2e-spec.ts
@@ -0,0 +1,92 @@
+import { browser, by, element } from "protractor";
+import { AppPage } from "./app.po";
+import { Navbar } from "./navbar.po";
+import { ListPage } from "./list.po";
+import { SideNav } from "./sidenav.po";
+
+describe("check calculator notes", () => {
+    let startPage: AppPage;
+    let navBar: Navbar;
+    let listPage: ListPage;
+    let sidenav: SideNav;
+
+    beforeEach(() => {
+        startPage = new AppPage();
+        navBar = new Navbar();
+        listPage = new ListPage();
+        sidenav = new SideNav();
+    });
+
+    it(" - notes should display properly when opened from a calculator", async () => {
+        await startPage.navigateTo();
+        await browser.sleep(200);
+
+        // open PAB: chute calculator
+        await listPage.clickMenuEntryForCalcType(12);
+        await browser.sleep(200);
+
+        // open notes
+        await navBar.clickMenuButton();
+        await browser.sleep(200);
+        await sidenav.clickNotesButton();
+        await browser.sleep(200);
+
+        // input some text
+        const ta = element(by.css("textarea"));
+        await ta.clear();
+        await ta.sendKeys("azerty123");
+        await browser.sleep(200);
+
+        // reopen calculator
+        await navBar.openNthCalculator(0);
+        await browser.sleep(200);
+
+        // reopen notes
+        await navBar.clickMenuButton();
+        await browser.sleep(200);
+        await sidenav.clickNotesButton();
+        await browser.sleep(200);
+
+        // check text
+        const md = element(by.css("markdown p"));
+        await browser.sleep(200);
+        expect(await md.getText()).toEqual("azerty123");
+    });
+
+    it(" - notes should display properly when opened from modules diagram", async () => {
+        await startPage.navigateTo();
+        await browser.sleep(200);
+
+        // open PAB: chute calculator
+        await listPage.clickMenuEntryForCalcType(12);
+        await browser.sleep(200);
+
+        // open notes
+        await navBar.clickMenuButton();
+        await browser.sleep(200);
+        await sidenav.clickNotesButton();
+        await browser.sleep(200);
+
+        // input some text
+        const ta = element(by.css("textarea"));
+        await ta.clear();
+        await ta.sendKeys("azerty123");
+        await browser.sleep(200);
+
+        // open modules diagram
+        await navBar.clickMenuButton();
+        await browser.sleep(200);
+        await sidenav.clickDiagramButton();
+        await browser.sleep(200);
+
+        // open notes
+        const notesLink = element(by.css("#show-notes a"));
+        notesLink.click();
+        await browser.sleep(200);
+
+        // check text
+        const md = element(by.css("markdown p"));
+        await browser.sleep(200);
+        expect(await md.getText()).toEqual("azerty123");
+    });
+});
diff --git a/e2e/sidenav.po.ts b/e2e/sidenav.po.ts
index 5b4060f52154b4e5df514da82fc7c279c5dfa581..596db0a86027fdaebb1db9c833e8099d9bbc34d9 100644
--- a/e2e/sidenav.po.ts
+++ b/e2e/sidenav.po.ts
@@ -31,6 +31,10 @@ export class SideNav {
         return element(by.css(`button#confirm-new-session`));
     }
 
+    getNotesButton() {
+        return element(by.css("#side-nav-session-props"));
+    }
+
     async clickLoadSessionButton() {
         const ncb = this.getLoadSessionButton();
         await browser.sleep(500);
@@ -60,4 +64,10 @@ export class SideNav {
             await this.getFileLoadButton().click();
         }
     }
+
+    async clickNotesButton() {
+        const nb = this.getNotesButton();
+        await browser.sleep(200);
+        await nb.click();
+    }
 }
diff --git a/src/index.html b/src/index.html
index 5a2324c1d7d449aa55ec7ce3dada7485ed3784c2..a1fbb0362dce2328d9bdf2db9ba4f1c31398e3c6 100644
--- a/src/index.html
+++ b/src/index.html
@@ -14,8 +14,8 @@
    <link rel="mask-icon" href="/safari-pinned-tab.svg" color="#ffffff">
 
    <meta name="viewport" content="width=device-width, initial-scale=1">
-  <link rel="manifest" href="manifest.webmanifest">
-  <meta name="theme-color" content="#1976d2">
+   <link rel="manifest" href="manifest.webmanifest">
+   <meta name="theme-color" content="#1976d2">
 </head>
 
 <body>
@@ -163,4 +163,4 @@
   <noscript>Please enable JavaScript to continue using this application.</noscript>
 </body>
 
-</html>
\ No newline at end of file
+</html>