ブックダウン(単一の文書)を使用する場合、図には次のように自動的に番号が付けられます。
図1図のキャプションのテキスト。
化学の慣例では、主要な数字に次のようにラベルを付けます。
図1。図のキャプションのテキスト。
補足情報ドキュメント:
図S1。図のキャプションのテキスト。
また、テキストの図参照では、次のものが必要です。
...図1に示すように、...
したがって、参照テキストは太字にしないでください。
ブックダウン(またはrmarkdown)で図と表のキャプションを次のように作成するにはどうすればよいですか: "図S1。一部のテキスト。"および「表S1。いくつかのテキスト。」 ?
これをMS Word形式にする必要があります。
これまでのところ、私は_bookdown.ymlドキュメントを次のように変更しようとしました:
language:
label:
fig: "**Figure S**"
tab: "**Table S**"
これは次のようになります:図S 1いくつかのテキスト...と使用時のインライン参照
Figure S\@ref(fig:Xray)
大丈夫です図S1です。
これは最小限の例です:
---
title: Supporting Information
subtitle: "Iron(I) etc"
author: "Some people here"
abstract: "Added the addresses here since there is no abstract in the SI"
output:
bookdown::Word_document2:
fig_caption: yes
toc: yes
toc_depth: 1
---
## Reaction of etc.
Some text (Figure S\@ref(fig:Xray)). Some text followed by a figure:
```{r Xray, fig.cap="Single-crystal X-ray structure of some text", echo=FALSE}
plot(cars)
```
Some text etc. followed by a table:
```{r DipUVvis, echo=FALSE, tab.cap="Table caption"}
df<-data.frame(Entry=c('AMM 51$3^a$','AMM 52^*a*^'),
Precat=c('[FeBr~2~(dpbz)~2~] (4.00)','[FeBr~2~(dpbz)~2~]
(2.00)'))
kable(head(df), format = "markdown")
```
上記のコードは、図のキャプションで図S 1を生成しますが、図S1。を生成しません(最後にすべて太字で完全に停止していることに注意してください)。
私の知る限り、rmarkdown/bookdownで図や表のキャプションを制御して、希望どおりの操作を行うことはできません。 captioner
パッケージを使用すると、キャッチでそれを実現できます。rmarkdown
出力で問題なく動作しますが、bookdown
出力で後処理を行う必要があります。希望のキャプションスタイルを生成するRmdファイルを次に示します。
---
title: Supporting Information
subtitle: "Iron(I) etc"
author: "Some people here"
abstract: "Added the addresses here since there is no abstract in the SI"
output:
Word_document:
fig_caption: yes
---
```{r, include=F}
library(captioner)
tables <- captioner(prefix = "Table S", suffix = ". ", style="b", style_prefix=TRUE, auto_space = FALSE)
figures <- captioner(prefix = "Figure S", suffix = ". ", style="b", style_prefix=TRUE, auto_space = FALSE)
figures("Xray1", "Single-crystal X-ray structure of some text (1)", display=FALSE)
figures("Xray2", "Single-crystal X-ray structure of some text (2)", display=FALSE)
figures("Xray3", "Single-crystal X-ray structure of some text (3)", display=FALSE)
```
## Reaction of etc.
Some text. Some text followed by `r figures("Xray1", display="cite")`, which is the same figure as `r figures("Xray3", display="cite")` but comes after `r figures("Xray2", display="cite")`.
```{r Xray, fig.cap=figures("Xray1"), echo=FALSE}
plot(cars)
```
```{r Xray2, fig.cap=figures("Xray2"), echo=FALSE}
plot(cars)
```
```{r Xray3, fig.cap=figures("Xray3"), echo=FALSE}
plot(cars)
```
Some text etc. followed by `r tables("tab-DipUVvis", display="cite")`:
```{r DipUVvis, echo=FALSE}
df<-data.frame(Entry=c('AMM 51$3^a$','AMM 52^*a*^'),
Precat=c('[FeBr~2~(dpbz)~2~] (4.00)','[FeBr~2~(dpbz)~2~]
(2.00)'))
knitr::kable(head(df), caption=tables("tab-DipUVvis", "Table Caption"))
```
ただし、bookdown :: Word_document2出力を使用するように切り替えると、図のキャプションは「図1:図S1。..」になります。 「図1:」を非表示にする方法が見つからなかったため、出力で後処理を行ってすべての「図?:」を「」に置き換えます。
bookdown
を介して図のキャプションプレフィックスをスタイルする方法はありませんが、カスタムLuaフィルター(pandoc
2.0以降が必要)を適用することでこれを行うことができます。
あなたがから始めていると仮定して
図1図のキャプションのテキスト。
次のフィルターはあなたが望むことをするはずです(追加のフォーマットオプションについては https://pandoc.org/lua-filters.html#inline を参照してください):
function Image (img)
img.caption[1] = pandoc.Strong(img.caption[1])
img.caption[3] = pandoc.Strong(img.caption[3])
img.caption[4] = pandoc.Strong(". ")
return img
end
(img.caption[2]
はFigure
と数値の間の空白であり、img.caption[4]
は数値とキャプションの間の空白であると仮定します)
このフィルターをrmarkdown
ドキュメントのディレクトリにあるfigure_caption_patch.lua
というファイルに配置すると、YAMLの前付けにpandoc
引数を追加して適用できます。
output:
bookdown::Word_document2:
pandoc_args: ["--lua-filter", "figure_caption_patch.lua"]
これにより、目的のキャプションスタイルが得られます。
図1.図のキャプションのテキスト。
Word(.docx
)スタイルを設定するためのこのガイド に従って、イチジクを作成できます。とタブ。キャプションは太字ですが、キャプション行全体を太字にすることもできます...つまり、次のようにRMarkdownを使用して.docx
にキャプションを自動的に作成する方法があります。
図S1:一部のテキストの単結晶X線構造(1)
ただし、次のようなものを作成するのは難しいようです。
図S1:一部のテキストの単結晶X線構造(1)
キャプション行全体ではなく、「図/表S1」セクションのみを太字にしたいと思います。それでも、Rmarkdownで.docx
ファイルをフォーマットすることに興味がある場合は、上記で追加したリンクをチェックして、次の説明を確認できます。
.Rmd
file @LmW。最初の.docx
出力を取得するために提供されました。captioner
パッケージに問題がある場合は、次のパッケージも使用できます。
---
title: Supporting Information
subtitle: "Iron(I) etc"
author: "Some people here"
abstract: "Added the addresses here since there is no abstract in the SI"
output:
Word_document:
fig_caption: yes
---
```{r, include=F}
library(captioner)
#`captioner` package (Ver. 2.2.3) in my envionment returns the following error messages:
#Error in captioner(prefix = "Table S", suffix = ". ", style = "b", style_prefix = TRUE, :
# unused arguments (suffix = ". ", style = "b", style_prefix = TRUE)
#Error in captioner(prefix = "Figure S", suffix = ". ", style = "b", style_prefix = TRUE, :
# unused arguments (suffix = ". ", style = "b", style_prefix = TRUE)
#tables <- captioner(prefix = "Table S", suffix = ". ", style="b", style_prefix=TRUE, auto_space = FALSE)
#figures <- captioner(prefix = "Figure S", suffix = ". ", style="b", style_prefix=TRUE, auto_space = FALSE)
tables <- captioner(prefix = "Table S", auto_space = FALSE)
figures <- captioner(prefix = "Figure S", auto_space = FALSE)
figures("Xray1", "Single-crystal X-ray structure of some text (1)", display=FALSE)
figures("Xray2", "Single-crystal X-ray structure of some text (2)", display=FALSE)
figures("Xray3", "Single-crystal X-ray structure of some text (3)", display=FALSE)
```
## Reaction of etc.
Some text. Some text followed by `r figures("Xray1", display="cite")`, which is the same figure as `r figures("Xray3", display="cite")` but comes after `r figures("Xray2", display="cite")`.
```{r Xray, fig.cap=figures("Xray1"), echo=FALSE}
plot(cars)
```
```{r Xray2, fig.cap=figures("Xray2"), echo=FALSE}
plot(cars)
```
```{r Xray3, fig.cap=figures("Xray3"), echo=FALSE}
plot(cars)
```
Some text etc. followed by `r tables("tab-DipUVvis", display="cite")`:
```{r DipUVvis, echo=FALSE}
df<-data.frame(Entry=c('AMM 51$3^a$','AMM 52^*a*^'),
Precat=c('[FeBr~2~(dpbz)~2~] (4.00)','[FeBr~2~(dpbz)~2~]
(2.00)'))
knitr::kable(head(df), caption=tables("tab-DipUVvis", "Table Caption"))
```
Image Caption
およびTable Caption
を太字に設定します。最初の.docx
ファイルでは、
Ctrl
+ B
またはCommand
+ B
);Alt
+ Ctrl
+ Shift
+ S
を押します。Image Caption
またはTable Caption
を検索します。画像と表の両方のキャプションで上記の手順を実行した場合は、.docx
ファイルをWord-styles-reference-01.docx
として作業ディレクトリに保存してください。
.Rmd
ファイルを編み、reference_docx
行を追加して、最終的な.docx
出力を取得します。reference_docx: Word-styles-reference-01.docx
行の下にWord_document:
を追加します。次の例の7行目を参照してください。
---
title: Supporting Information
subtitle: "Iron(I) etc"
author: "Some people here"
abstract: "Added the addresses here since there is no abstract in the SI"
output:
Word_document:
reference_docx: Word-styles-reference-01.docx
fig_caption: yes
---
```{r, include=F}
library(captioner)
#`captioner` package (Ver. 2.2.3) in my envionment returns the following error messages:
#Error in captioner(prefix = "Table S", suffix = ". ", style = "b", style_prefix = TRUE, :
# unused arguments (suffix = ". ", style = "b", style_prefix = TRUE)
#Error in captioner(prefix = "Figure S", suffix = ". ", style = "b", style_prefix = TRUE, :
# unused arguments (suffix = ". ", style = "b", style_prefix = TRUE)
#tables <- captioner(prefix = "Table S", suffix = ". ", style="b", style_prefix=TRUE, auto_space = FALSE)
#figures <- captioner(prefix = "Figure S", suffix = ". ", style="b", style_prefix=TRUE, auto_space = FALSE)
tables <- captioner(prefix = "Table S", auto_space = FALSE)
figures <- captioner(prefix = "Figure S", auto_space = FALSE)
figures("Xray1", "Single-crystal X-ray structure of some text (1)", display=FALSE)
figures("Xray2", "Single-crystal X-ray structure of some text (2)", display=FALSE)
figures("Xray3", "Single-crystal X-ray structure of some text (3)", display=FALSE)
```
## Reaction of etc.
Some text. Some text followed by `r figures("Xray1", display="cite")`, which is the same figure as `r figures("Xray3", display="cite")` but comes after `r figures("Xray2", display="cite")`.
```{r Xray, fig.cap=figures("Xray1"), echo=FALSE}
plot(cars)
```
```{r Xray2, fig.cap=figures("Xray2"), echo=FALSE}
plot(cars)
```
```{r Xray3, fig.cap=figures("Xray3"), echo=FALSE}
plot(cars)
```
Some text etc. followed by `r tables("tab-DipUVvis", display="cite")`:
```{r DipUVvis, echo=FALSE}
df<-data.frame(Entry=c('AMM 51$3^a$','AMM 52^*a*^'),
Precat=c('[FeBr~2~(dpbz)~2~] (4.00)','[FeBr~2~(dpbz)~2~]
(2.00)'))
knitr::kable(head(df), caption=tables("tab-DipUVvis", "Table Caption"))
```