Crie uma lightbox no Markdown

Crie uma lightbox no Markdown

Estou tentando criar uma caixa em torno de algum texto em um documento Markdown. Nada sofisticado, apenas uma caixa ao redor de uma seção de texto.

Estou usando o Markdown para texto simples, mas estou usando o Pandoc para convertê-lo em PDF. Estou usando o modelo eisvogel.tex para conversão. Alguma sugestão rápida e fácil para adicionar uma caixa ao texto de marcação?

Obrigado.

Responder1

Eu descobri e estou compartilhando o resultado aqui. Quase tudo foi obtido nas seguintes páginas:

https://github.com/chdemko/pandoc-latex-environment

https://github.com/Wandmalfarbe/pandoc-latex-template

Para começar, executo o pandoc em um arquivo Docker, então precisei baixar alguns pacotes adicionais para que isso funcionasse. Aqui está uma pequena seleção dos pacotes que baixei em meu "Dockerfile" e como o iniciei:

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

O ingrediente principal aqui foi incluir todos os pacotes necessários ao tcolorbox para eisvogel, ou seja, install, tools, xcolor, tcolorbox, etc., e também baixar e incluir pandoc-latex-environment na instrução "RUN pip3 install... .."

Em seguida, precisei adicionar o argumento “--filter pandoc-latex-evironment” ao meu comando pandooc. Eu uso um shell script que já é altamente customizado para o meu ambiente, então simplesmente adicionei uma linha extra para usar o filtro "pandoc-latex-environment".

Então tive que adicionar algumas linhas ao preâmbulo do arquivo 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}

E então, ainda no preâmbulo abaixo, adicione o seguinte:

pandoc-latex-environment:
  tcolorbox: [box]
  info-box: [info]
  warning-box: [warning]
  error-box: [error]

Assim que o código estivesse no preâmbulo, eu poderia começar a adicionar texto ao próprio Markdown. Tomando exemplos que reuni em várias páginas aqui no StackExchange, adicionei o seguinte:

## 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}

Então comecei a customizar as cores de cada caixa:

::: 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.
:::

Agora, consigo renderizar a seguinte imagem ao converter meu arquivo Markdown em um arquivo PDF.

Captura de tela de lightboxes coloridas

Muito obrigado a todos que postaram uma pequena parte da solução aqui no StackExchange. Consegui extrair soluções parciais de cerca de 5 a 6 páginas.

informação relacionada