【问题标题】:RMarkdown: How to end tabbed contentRMarkdown:如何结束选项卡式内容
【发布时间】:2016-10-29 23:36:48
【问题描述】:

定义选项卡后,如何定义选项卡外/下的内容?或者,如何结束选项卡式内容?

我已经计划了这样的布局:

title
content above tabbed region.

tab1 tab2
-------------------
tab content 1
-------------------
content below tabbed region

在 rmarkdown 中是

## title {.tabset .tabset-fade}
content above tabbed region.

### tab 1 
tab content 1
### tab 2
tab content 2

content below tabbed region.

但是,content below tabbed region. 显示为 tab2 的一部分。如何在选项卡之外定义?

也许我可能在下面的内容中有更多标题。所以一个相关的问题是如何定义哪些标题是选项卡的一部分,哪些不是?

【问题讨论】:

标签: r r-markdown


【解决方案1】:

查看手册rmarkdown cookbook:

## Results {.tabset}

### Tab One

### Tab Two

## {-}

有了上面的无编号({-})和空的节头,我们可以结束 tabset 并继续写更多的段落。

【讨论】:

    【解决方案2】:

    如果您想包含与父标签相关的内容并保留子标签集,例如

    [Parent tab 1] __Parent tab 2__
    [Child tab 1] __Child tab 2__
    <Child tab 1 content>
    ---
    <Parent tab 1 other content>
    

    无论选择[Child tab],在哪里都显示&lt;Parent tab 1 other content&gt;,试试这个Rmd,它有点被JavaScript破解了:

    ---
    title: "Nested tabs example"
    ---
    
    ```{js}
    document.addEventListener("DOMContentLoaded", function() {
      $(".leave-tabset").removeClass("tab-pane tabbed-pane");
    }, false);
    ```
    
    # Nested tabs example {.tabset}
    
    ## Parent 1 {.tabset}
    
    ### Parent 1, Child 1
    
    Parent 1, Child 1 content
    
    ### Parent 1, Child 2
    
    Parent 1, Child 2 content
    
    ### {- .leave-tabset}
    
    ---
    
    #### Parent 1, Other content 1
    
    Foo 1
    
    #### Parent 1, Other content 2
    
    Bar 1
    
    <!-- next main tab -->
    
    ## Parent 2 {.tabset}
    
    ### Parent 2, Child 1
    
    Parent 2, Child 1 content
    
    ### Parent 2, Child 2
    
    Parent 2, Child 2 content
    
    ### {- .leave-tabset}
    
    ---
    
    #### Parent 2, Other content 1
    
    Foo 2
    
    #### Parent 2, Other content 2
    
    Bar 2
    
    <!-- next main tab -->
    
    ## Parent 3 {.tabset}
    
    ### Parent 3, Child 1
    
    Parent 3, Child 1 content
    
    ### Parent 3, Child 2
    
    Parent 3, Child 2 content
    
    ### {- .leave-tabset}
    
    ---
    
    #### Parent 3, Other tabs {.tabset}
    
    ##### Parent 3, Other tab 1
    
    Foo 3
    
    ##### Parent 3, Other tab 2
    
    Bar 3
    




    正如您在Parent 3 选项卡中看到的那样,您甚至可以在离开父项的子项后定义新的选项卡集。但是您可能很快就会缺少标题级别:)

    【讨论】:

      【解决方案3】:

      我解决这个问题的方法很简单,但很有效:

      ## title {.tabset .tabset-fade}
      content above tabbed region.
      
      ### tab 1 
      
      tab content 1
      
      ### tab 2
      
      tab content 2
      
      ##
      
      content below tabbed region
      

      该选项卡仅适用于带有 .tabset 的标题的子标题 属性出现在选项卡中而不是作为独立部分'(请参阅here

      因此,您只需在选项卡上方一层定义一个新标题(在这种情况下没有标题),以表明 RMD 不在选项卡式部分中。

      也可以在不同的标题中设计一个带有不同选项卡的文档:

      ## section 1 {.tabset .tabset-fade}
      content above tabbed region.
      
      ### tab 1 
      
      tab content 1
      
      ### tab 2
      
      tab content 2
      
      ## section 2 {.tabset .tabset-fade}
      
      ### tab 1 
      
      tab content 1
      
      ### tab 2
      
      tab content 2
      
      ### tab 3
      
      tab content 3
      
      #
      content below tabbed region
      

      编辑:如果你想使用目录(TOC)上面的解决方案有问题,因为最后一个#会创建一个空TOC 中的条目。这里的解决方案是使用

      ## {.unlisted .unnumbered}
      
      content below tabbed region
      

      【讨论】:

      • 这个语法可以嵌入到章节标题/副标题下吗(例如,第 2 节的一个标签集和第 3 节的另一个标签集)? (附:我是 R markdown 新手,但需要立即解决。)
      • 是的,这行得通,见here
      • 使用自动章节编号时,## 会创建一个带有数字的 2 级标题。可以使用## {.toc-ignore} 将其从 TOC 中隐藏,但在文档中仍然可见。 @conrad-mac 使用 &lt;/div&gt; 的解决方案在这种特殊情况下效果更好。
      【解决方案4】:

      在结束选项卡式内容后,使用{-} 删除目录编号

      tab content 2
      ## section 2 {.tabset .tabset-fade}
      ### tab 1 
      tab content 1
      ### tab 2
      tab content 2
      ### tab 3
      tab content 3
      ## {-}
      content below tabbed region
      

      【讨论】:

        【解决方案5】:

        另一种方法是使用结束 div 标签(即&lt;/div&gt;)。请参阅以下内容:

        ---
        title: "Test"
        output: html_document
        ---
        
        ```{r setup, include=FALSE}
        knitr::opts_chunk$set(echo = TRUE)
        ```
        
        ## Title {.tabset .tabset-fade}
        Content above tabbed region.
        
        ### Tab 1 
        Tab 1 content
        
        ### Tab 2
        Tab 2 content
        
        </div>
        
        Content below tabbed region
        

        【讨论】:

        • 如果目录 (toc: false) 被停用,这会很好。否则&lt;/div&gt;后面的内容将不被收录
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多