Markdown 문서의 일부 텍스트 주위에 상자를 만들려고 합니다. 화려한 것은 없고 텍스트 섹션 주위에 상자만 있습니다.
일반 텍스트에는 Markdown을 사용하고 있지만 Pandoc을 사용하여 PDF로 변환하고 있습니다. 변환을 위해 eisvogel.tex 템플릿을 사용하고 있습니다. 마크다운 텍스트에 상자를 추가하기 위한 빠르고 쉬운 제안이 있습니까?
감사해요.
답변1
나는 그것을 알아 냈고 그 결과를 여기에 공유하고 있습니다. 대부분의 모든 내용은 다음 페이지에서 수집되었습니다.
https://github.com/chdemko/pandoc-latex-environment
https://github.com/Wandmalfarbe/pandoc-latex-template
시작하려면 Docker 파일에서 pandoc를 실행하므로 이것이 작동하려면 몇 가지 추가 패키지를 다운로드해야 했습니다. 다음은 "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
여기서 핵심 요소는 eisvogel용 tcolorbox에 필요한 모든 필수 패키지(예: 설치, 도구, xcolor, tcolorbox 등)를 포함하고 "RUN pip3 install..." 명령문에 pandoc-latex-environment를 다운로드하여 포함시키는 것이었습니다. .."
다음으로, pandooc 명령에 "--filter pandoc-latex-evironment" 인수를 추가해야 했습니다. 내 환경에 맞게 이미 고도로 맞춤화된 쉘 스크립트를 사용하므로 "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페이지였습니다.