Я хочу создать рамку вокруг текста в документе Markdown. Ничего особенного, просто рамка вокруг раздела текста.
Я использую Markdown для простого текста, но затем использую Pandoc для конвертации в PDF. Я использую шаблон eisvogel.tex для конвертации. Есть ли какие-нибудь быстрые и простые предложения по добавлению поля в текст markdown?
Спасибо.
решение1
Я разобрался и делюсь результатом здесь. Почти все было почерпнуто со следующих страниц:
https://github.com/chdemko/pandoc-latex-environment
https://github.com/Wandmalfarbe/pandoc-latex-template
Для начала я запускаю pandoc в файле Docker, поэтому мне нужно было загрузить некоторые дополнительные пакеты, чтобы это работало. Вот небольшая подборка пакетов, которые я загрузил в своем "Dockerfile", а затем то, как я это запустил:
FROM pandoc/latex:2.10
#RUN tlmgr option repository http://ctan.math.washington.edu/tex-archive/systems/texlive/tlnet \
RUN tlmgr option repository http://ctan.math.utah.edu/tex-archive/systems/texlive/tlnet \
&& tlmgr update --self \
&& tlmgr install adjustbox awesomebox babel-german background bidi collectbox csquotes
everypage environ etoolbox filehook fontawesome5 footmisc footnotebackref framed fvextra
letltxmacro ly1 mdframed mweights needspace pagecolor pgf sourcecodepro sourcesanspro
tcolorbox titling tools trimspaces ucharcat ulem unicode-math upquote xcolor xecjk xurl
zref
RUN apk --no-cache add \
ghc cabal libc-dev zlib-dev python3 py3-pip
RUN cabal update
#RUN cabal --global --prefix=/usr/local v2-install cabal-install
#RUN cabal --global --bindir=/usr/local/bin v2-install pandoc-include-code-1.4.0.0
#RUN pip3 install pandoc-extract-code pandocfilters
RUN pip3 install pandoc-extract-code pandocfilters pandoc-latex-environment
Ключевым моментом здесь было включение всех требуемых пакетов, необходимых tcolorbox для eisvogel, т. е. install, tools, xcolor, tcolorbox и т. д., а также загрузка и включение pandoc-latex-environment в оператор "RUN pip3 install....."
Далее мне нужно было добавить аргумент «--filter pandoc-latex-evironment» к моей команде pandooc. Я использую скрипт оболочки, который уже сильно настроен для моей среды, поэтому я просто добавил дополнительную строку, чтобы использовать фильтр «pandoc-latex-environment».
Затем мне пришлось добавить несколько строк в преамбулу файла Markdown:
header-includes:
- |
```{=latex}
\usepackage{tcolorbox}
\newtcolorbox{info-box}{colback=cyan!5!white,arc=0pt,outer arc=0pt,colframe=cyan!60!black}
\newtcolorbox{warning-box}{colback=orange!5!white,arc=0pt,outer arc=0pt,colframe=orange!80!black}
\newtcolorbox{error-box}{colback=red!5!white,arc=0pt,outer arc=0pt,colframe=red!75!black}
И затем, все еще в преамбуле ниже, добавьте следующее:
pandoc-latex-environment:
tcolorbox: [box]
info-box: [info]
warning-box: [warning]
error-box: [error]
Как только код был в преамбуле, я мог начать добавлять сам текст Markdown. Взяв примеры, которые я почерпнул из различных страниц здесь, в StackExchange, я добавил следующее:
## Standard Box
\begin{tcolorbox}
\abovedisplayskip=0pt%
\belowdisplayskip=0pt%
%\vspace{-1\baselineskip}
\begin{align}
\sigma & = \beta_{0} \label{eq:Model0} \\
\sigma & = \beta_{0} + \beta_{1}K + \beta_{2}K^2
\label{eq:Model1} \\
\sigma & = \beta_{0} + \beta_{1}K + \beta_{2}K^2 + \beta_{3}(T-t) + \beta_{5}K(T-t)
\label{eq:Model2} \\
\sigma & = \beta_{0} + \beta_{1}K + \beta_{2}K^2 +
\beta_{3}(T-t) + \beta_{4}(T-t)^2 + \beta_{5}K(T-t)
\label{eq:Model3}
\end{align}
\end{tcolorbox}
Затем я начал настраивать цвета каждой коробки:
::: info
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam aliquet libero
quis lectus elementum fermentum.
:::
::: warning
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam aliquet libero
quis lectus elementum fermentum.
:::
::: error
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam aliquet libero
quis lectus elementum fermentum.
:::
Теперь я могу получить следующее изображение, конвертировав свой файл Markdown в файл PDF.
Большое спасибо всем, кто разместил небольшую часть решения здесь на StackExchange. Было около 5-6 страниц, из которых я смог почерпнуть частичные решения.