Search code examples
rr-markdowntableofcontents

R Markdown in R - TOC get stuck when using {.tabset} in headings (#)


I've seen the same question, or similar being raised before, but I can't find any solution - so I do a final try, if someone stumbled upon a solution recently.

As the title suggest, introducing {.tabset} makes the TOC not register on what heading one are on. If you in my example press a lower header (lvl #) - it gets marked, BUT then the TOC automatically jumps back to first header where {.tabset} appear - although you get to requested section in the html-page. Doing it again (press a lower header lvl), WITHOUT scrolling, let's the TOC stay on the header you suggested - untill you scroll, then it jumps again...

But if you then press a subheading within that, e.g. ## - then the TOC jumps back to the first header where {.tabset} appear again - although, you again, get to the requested section in the html-page.

Summary: using the TOC to navigate works (although not optimal - dubble-click necessary), but it won't stay on active header!

Here's my .rmd-file, with just some random text so show you the structure - in my case it always go back to header "# Om".

---
title: "Konjunktur- och arbetsmarknadsläget - Västernorrland"
author: "Detta är en rapport från Tillväxtverksamheten."
date: "`r format(Sys.Date(), '%Y-%m-%d')`"
output: 
  html_document:
    css: styles.css  
    toc: yes
    toc_float:
      toc_collapsed: true
    toc_depth: 3
    number_sections: true
---


# Om {.tabset}

"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed eget justo nec justo consequat sodales eget at lorem. Nam posuere risus nec libero sagittis, eget sodales neque consequat. Integer varius aliquam metus, ut feugiat velit tempor sed. Sed convallis metus a ex luctus suscipit. Fusce ac ultricies metus. Morbi varius erat eu libero convallis, vel dignissim risus venenatis. In hac habitasse platea dictumst. Integer fermentum metus ac mauris iaculis, vitae gravida arcu consequat. Cras eget bibendum mi. Proin eleifend ipsum nec neque iaculis, non sodales lacus tempor. Sed id scelerisque purus, sed ultricies orci. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vivamus sit amet leo non justo ullamcorper tempor. Curabitur elementum eget nisi sit amet lobortis. Donec fringilla ultrices lorem, vel volutpat magna lobortis nec."

<br>

## Konjunkturläget

"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed eget justo nec justo consequat sodales eget at lorem. Nam posuere risus nec libero sagittis, eget sodales neque consequat. Integer varius aliquam metus, ut feugiat velit tempor sed. Sed convallis metus a ex luctus suscipit. Fusce ac ultricies metus. Morbi varius erat eu libero convallis, vel dignissim risus venenatis. In hac habitasse platea dictumst. Integer fermentum metus ac mauris iaculis, vitae gravida arcu consequat. Cras eget bibendum mi. Proin eleifend ipsum nec neque iaculis, non sodales lacus tempor. Sed id scelerisque purus, sed ultricies orci. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vivamus sit amet leo non justo ullamcorper tempor. Curabitur elementum eget nisi sit amet lobortis. Donec fringilla ultrices lorem, vel volutpat magna lobortis nec."

<br>

## Arbetsmarknaden

### Begrepp och nyckeltal

"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed eget justo nec justo consequat sodales eget at lorem. Nam posuere risus nec libero sagittis, eget sodales neque consequat. Integer varius aliquam metus, ut feugiat velit tempor sed. Sed convallis metus a ex luctus suscipit. Fusce ac ultricies metus. Morbi varius erat eu libero convallis, vel dignissim risus venenatis. In hac habitasse platea dictumst. Integer fermentum metus ac mauris iaculis, vitae gravida arcu consequat. Cras eget bibendum mi. Proin eleifend ipsum nec neque iaculis, non sodales lacus tempor. Sed id scelerisque purus, sed ultricies orci. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vivamus sit amet leo non justo ullamcorper tempor. Curabitur elementum eget nisi sit amet lobortis. Donec fringilla ultrices lorem, vel volutpat magna lobortis nec."

<br>

# Läget

"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed eget justo nec justo consequat sodales eget at lorem. Nam posuere risus nec libero sagittis, eget sodales neque consequat. Integer varius aliquam metus, ut feugiat velit tempor sed. Sed convallis metus a ex luctus suscipit. Fusce ac ultricies metus. Morbi varius erat eu libero convallis, vel dignissim risus venenatis. In hac habitasse platea dictumst. Integer fermentum metus ac mauris iaculis, vitae gravida arcu consequat. Cras eget bibendum mi. Proin eleifend ipsum nec neque iaculis, non sodales lacus tempor. Sed id scelerisque purus, sed ultricies orci. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vivamus sit amet leo non justo ullamcorper tempor. Curabitur elementum eget nisi sit amet lobortis. Donec fringilla ultrices lorem, vel volutpat magna lobortis nec."

## Konjunkturläget {.tabset}

Välj geografi för en fördjupning av konjunkturläget, genom att välja flik nedan.
*Obs. att flikarna inte innehåller samma data - makroekonomiska variabler visas bara i Sverige-fliken.*

<br>

### Sverige

Nedan visas huvudindikatorerna i månadssammanställningen av Konjunkturinstitutets konjunkturbarometer. Månadssammanställningen, som görs för riket, består av ett antal konfidensindikatorer, som redovisar stämningsläget per bransch. Indikatorn *barometerindikatorn* väger samman stämningsläget hos både hushåll och branscher - den visar på det totala stämningsläget i svensk ekonomi.


<br>

### Regionalt

Konjunkturinstitutet tar också fram regionala serier för konjunkturbarometern kvartalsvis, regionala serier avser här NUTS2-regioner. Läs mer om NUTS-regioner hos SCB: [EU:s regioner - NUTS](https://www.scb.se/hitta-statistik/internationell-statistik/eu-statistik/eus-regioner---nuts/).


<br>

## Arbetsmarknaden

"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed eget justo nec justo consequat sodales eget at lorem. Nam posuere risus nec libero sagittis, eget sodales neque consequat. Integer varius aliquam metus, ut feugiat velit tempor sed. Sed convallis metus a ex luctus suscipit. Fusce ac ultricies metus. Morbi varius erat eu libero convallis, vel dignissim risus venenatis. In hac habitasse platea dictumst. Integer fermentum metus ac mauris iaculis, vitae gravida arcu consequat. Cras eget bibendum mi. Proin eleifend ipsum nec neque iaculis, non sodales lacus tempor. Sed id scelerisque purus, sed ultricies orci. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vivamus sit amet leo non justo ullamcorper tempor. Curabitur elementum eget nisi sit amet lobortis. Donec fringilla ultrices lorem, vel volutpat magna lobortis nec."

### Nyanmälda platser

Nyanmälda platser, per vecka, är en snabbrörlig indikator över arbetsmarknaden som visar på styrkan i efterfrågan av arbetskraft.

<br>

### Lediga jobb (Af)

Nedan visas alla lediga jobb som rapporterats till Arbetsförmedlingen (Af), med en varaktighet över 10 dagar. Af fångar ungefär 50% av totalt utlysta/eftersöka tjänster på arbetsmarknaden.

<br>


## Konkurser

Följande sektion reodivsar konkurser för bolagsformerna: AB, HB, EF.

I nedan figur visas antalet företagskonkurser för innevarande år, föregående år samt för det år då en konjunkturavmattning senast inleddes. Med konjunkturavmattning menas att högkonjunkturen toppat och var påväg ner, med fortsatt befann sig i högkonjunktur.

<br>

# Arbetskraften - utbudet

"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed eget justo nec justo consequat sodales eget at lorem. Nam posuere risus nec libero sagittis, eget sodales neque consequat. Integer varius aliquam metus, ut feugiat velit tempor sed. Sed convallis metus a ex luctus suscipit. Fusce ac ultricies metus. Morbi varius erat eu libero convallis, vel dignissim risus venenatis. In hac habitasse platea dictumst. Integer fermentum metus ac mauris iaculis, vitae gravida arcu consequat. Cras eget bibendum mi. Proin eleifend ipsum nec neque iaculis, non sodales lacus tempor. Sed id scelerisque purus, sed ultricies orci. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vivamus sit amet leo non justo ullamcorper tempor. Curabitur elementum eget nisi sit amet lobortis. Donec fringilla ultrices lorem, vel volutpat magna lobortis nec."

## Arbetskraftsdeltagande

<br>

## Sysselsättningsgrad

<br>

## Arbetslöshet

<br>

# Ej i arbetskraften

Nedan tabell bygger på tabell 2. Antalet individer i de 4 redovisade arbetsmarknadsstatusarna som ej ingår i arbetskraften har här relaterats till befolkningen i respektive geografi. På så sätt fås ett relativt mått på hur stor gruppen är i respektive geografi och jämförelser kan göras mellan geografierna.

## Studerande


<br>

## Pensionärer


<br>
<br>

Rapport genererad genom R med R Markdown.

Thanks for any and all insight!


Solution

  • This doesn't solve the problem completely, but it might help and provide some insight in the process.

    Here are some options:

    1. Change to toc_depth: 2 in the YAML header. See code below. You don't see level three headings in the table of contents, but I personally think that for a floating table of contents the top two heading levels are sufficient.
    2. Remove the level three headings inside the second tab of the first tabset.

    Another thing I noticed is that sections defined in tabsets don't show up in the table of contents anyway.

    ---
    title: "Konjunktur- och arbetsmarknadsläget - Västernorrland"
    author: "Detta är en rapport från Tillväxtverksamheten."
    date: "`r format(Sys.Date(), '%Y-%m-%d')`"
    output: 
      html_document:
        css: styles.css  
        toc: yes
        toc_float:
          toc_collapsed: true
        toc_depth: 2
        number_sections: true
    ---
    
    # Om {.tabset}
    
    Lorem ipsum dolor sit amet, consectetur adipiscing elit.
    
    ## Konjunkturläget
    
    Lorem ipsum dolor sit amet, consectetur adipiscing elit.
    
    ## Arbetsmarknaden
    
    ### Begrepp och nyckeltal
    
    Lorem ipsum dolor sit amet, consectetur adipiscing elit.
    
    # Läget
    
    Lorem ipsum dolor sit amet, consectetur adipiscing elit.
    
    ## Konjunkturläget {.tabset}
    
    Lorem ipsum dolor sit amet, consectetur adipiscing elit.
    
    ### Sverige
    
    Lorem ipsum dolor sit amet, consectetur adipiscing elit.
    
    ### Regionalt
    
    Lorem ipsum dolor sit amet, consectetur adipiscing elit.
    
    ## Arbetsmarknaden
    
    Lorem ipsum dolor sit amet, consectetur adipiscing elit.
    
    ### Nyanmälda platser
    
    Lorem ipsum dolor sit amet, consectetur adipiscing elit.
    
    ### Lediga jobb (Af)
    
    Lorem ipsum dolor sit amet, consectetur adipiscing elit.
    
    ## Konkurser
    
    Lorem ipsum dolor sit amet, consectetur adipiscing elit.
    
    # Arbetskraften - utbudet
    
    Lorem ipsum dolor sit amet, consectetur adipiscing elit.
    
    ## Arbetskraftsdeltagande
    
    ## Sysselsättningsgrad
    
    ## Arbetslöshet
    
    # Ej i arbetskraften
    
    Lorem ipsum dolor sit amet, consectetur adipiscing elit.
    
    ## Studerande
    
    ## Pensionärer
    
    Rapport genererad genom R med R Markdown.
    

    Scrolling down the page the table of contents seems to work fine. If I have misunderstood the question, please let me know where I have gone wrong.

    enter image description here