Создать лайтбокс в Markdown

Создать лайтбокс в Markdown

Я хочу создать рамку вокруг текста в документе 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 страниц, из которых я смог почерпнуть частичные решения.

Связанный контент