diff --git a/layouts/partials/papers/abstract.html b/layouts/partials/papers/abstract.html
index b5259b11433fff82d58d9911c5c00d7f6ab67db0..c0a1b2847f283758cf4d076bfb12a55902a081ba 100644
--- a/layouts/partials/papers/abstract.html
+++ b/layouts/partials/papers/abstract.html
@@ -1,4 +1,4 @@
-<section class="paper-essentials">
+<section class="paper-essentials" id="abstract">
   {{ with .Params.Abstract }}
     <h2>{{ i18n "papers.abstract" }}</h2>
     <p itemprop="abstract">{{ partial "PrepareHTML" . }}</p>
diff --git a/layouts/partials/papers/authors.html b/layouts/partials/papers/authors.html
index 95763e57e20f3ccd5159d67f914d3012661dc0b6..69df57a6b9dd12966c4988f407d129bcae453efc 100644
--- a/layouts/partials/papers/authors.html
+++ b/layouts/partials/papers/authors.html
@@ -1,5 +1,5 @@
 {{ if .Params.Researchers }}
-  <section class="paper-authors">
+  <section class="paper-authors" id="authors">
     <h2>{{ i18n "volumes.authors" }}</h2>
     <div class="authors">
       {{ range .Params.Researchers }}
diff --git a/layouts/partials/papers/body.html b/layouts/partials/papers/body.html
index b1147c6d7dcb70ffef098e60647af97e14c5e16b..e14c9633f5341fe02da0a51e06c9c35efea6ba68 100644
--- a/layouts/partials/papers/body.html
+++ b/layouts/partials/papers/body.html
@@ -1,5 +1,5 @@
 {{ if (partial "GetTextFromHTML" .Content) }}
-  <section id="full-text" class="paper-body">
+  <section id="full-text" id="paper-body" class="paper-body">
     <h2>{{ i18n "volumes.full_text" }}</h2>
     <div class="articleBody">
       {{ partial "PrepareHTML" .Content }}
diff --git a/layouts/partials/papers/references.html b/layouts/partials/papers/references.html
index 8f9e163214da4adfc695ccb701c3d94aaa037c29..704a76b153e6a2f0dc387317c05569240d6a2b92 100644
--- a/layouts/partials/papers/references.html
+++ b/layouts/partials/papers/references.html
@@ -1,5 +1,5 @@
 {{ with .Params.references }}
-  <section>
+  <section id="references">
     <h2>{{ i18n "volumes.references" }}</h2>
     {{ partial "PrepareHTML" . }}
   </section>
diff --git a/layouts/partials/papers/sidebar.html b/layouts/partials/papers/sidebar.html
index e32c26a62d14a053b7d561c1761235cdb0883a5c..807f4b256cf7513869346588c39ba4a4ef81deb9 100644
--- a/layouts/partials/papers/sidebar.html
+++ b/layouts/partials/papers/sidebar.html
@@ -65,10 +65,10 @@
       </dl>
     </aside>
     {{ partial "toc/container.html"
-        (dict
-            "toc" "toc/default.html"
-            "context" .
-        )
+    (dict
+          "toc" "papers/toc.html"
+          "context" .
+      )
     }}
   </div>
 </div>
diff --git a/layouts/partials/papers/toc.html b/layouts/partials/papers/toc.html
new file mode 100644
index 0000000000000000000000000000000000000000..b41db283e2eaf47deed561d3a00d3ede0689dad3
--- /dev/null
+++ b/layouts/partials/papers/toc.html
@@ -0,0 +1,14 @@
+{{ $content := partial "GetTextFromHTML" .context.Params.content }}
+{{ $references :=  partial "GetTextFromHTML" .context.Params.references }}
+{{ $researchers :=  partial "GetTextFromHTML" .context.Params.researchers }}
+{{ $abstract :=  partial "GetTextFromHTML" .context.Params.Abstract }}
+
+
+<nav class="toc" id="nav-toc" aria-label="{{ i18n "commons.toc" }}">
+    <ol>
+      <li>
+        <a href="#{{ urlize (i18n "programs.toc.essential") }}">{{ i18n "programs.toc.essential" }}</a>
+      </li>
+    </ol>
+  </nav>
+  
\ No newline at end of file