На основании ссылки, опубликованной kohske, Наконец, мне удалось найти временное решение, то есть определить число фигур в соответствии с шаблоном
Рисунок # section. # Figure
Например: Рисунок 3.1
Это не то, что я изначально хотел сделать (т. удалите автоматическую нумерацию цифр), но это хороший обходной путь.
Как сделать это
Прежде всего, создайте файл «mystyle.sty», расположенный в том же каталоге, что и файл rmarkdown. В этом mystyle.sty файл, поместите следующую строку кода:
\usepackage{chngcntr}
Затем в заголовке файла rmarkdown, добавьте следующую информацию:
output:
pdf_document:
fig_caption: yes
includes:
in_header: mystyle.sty
Целью этого было сделать что rmarkdown просит латекс использовать пакет, позволяющий создать соответствующую автоматическую нумерацию.
Следующим шагом является добавление этого в начале документа:
\counterwithin{figure}{section}
так что цифры будут пронумерованы в каждой секции.
И затем, вы можете вручную определить значение «раздела» и «цифра» с \setcounter{section}{#}
На самом деле, что вы должны сделать, это просто поставить две следующие строки в начале каждого раздела:
\setcounter{section}{1}
\setcounter{figure}{0}
Если вы находитесь в разделе 3, изменить к \setcounter{section}{3}
.
И это работает правильно; например, цифра 3 моего раздела 5:
Однако, есть еще один вопрос остался: хотя это решает проблему вязки PDF, это не будет работать на HTML. Если вы используете один и тот же документ для создания файлов PDF и HTML, то ваш PDF будет иметь хорошие номера, а ваш HTML не будет иметь никакого номера. Я до сих пор не понял, как сделать то же самое в HTML.
Как формируется рисунок 26? Это не по умолчанию, т. Е. Если я скопирую и вставляю код в новый rmarkdown, я не получаю автоматическую нумерацию. Я предполагаю, что у вас есть какие-то дополнительные параметры knitr, где-то, которые это делают. – rawr
Да, это правильно. Я добавил 'fig_caption: yes'; в противном случае я не могу добавить титры к моим цифрам. –