pandoc/markdown과 함께 사용할 사용자 정의 라텍스 명령을 추가하세요.

pandoc/markdown과 함께 사용할 사용자 정의 라텍스 명령을 추가하세요.

그래서 저는 인기 있는 것을 사용하고 있어요Eisvogel 템플릿내 개인적인 일을 위해서. 저는 기본적으로 모든 것을 마크다운으로 입력하고 pandoc을 사용하여 예쁜 PDF로 변환합니다.

인용 부호( > text )를 사용하면 예쁜 막대가 생성됩니다. 그러나 더 많은 스타일 옵션을 추가하고 싶은 욕구가 생겼습니다. 실제 인용문뿐만 아니라 "정보 패널" 또는 "경고 패널"에도 이러한 블록 인용문을 사용하고 싶다고 가정해 보겠습니다. 나는 마크다운 파일 내에 접두사 또는 custom-tex 명령을 제공하고 적절한 상자가 표시되도록 하는 옵션을 갖고 싶습니다.

가지고 있는 것보다는 왼쪽에 대시가 있는 보기 좋은 회색 상자가 만들어지므로 상자가 원래 블록 인용 색상이 아닌 빨간색으로 렌더링되도록 하는 것과 > text같은 것을 갖고 싶습니다 .\alert > text

물론, 구문이 완전히 다르게 보일 수 있지만, 이 멋진 pandoc-latex 항목을 좀 더 사용자 정의하는 방법, 바람직하게는 사용자 정의 명령을 사용하여 사용자 정의하는 방법을 찾으면 됩니다. 나는 순수한 LaTeX 작성에 어느 정도 익숙하지만, 마크다운 파일 내에서도 메모를 하기 때문에 pandoc을 사용하는 것이 훨씬 더 빠릅니다.

누구든지 아이디어가 있나요?

건배

답변1

글쎄요, eisvogel 템플릿을 보면 특수 문자 안에 인용문을 조판하는 것처럼 보입니다.customblockquote mdframed 패키지를 사용하여 정의된 특수 환경 내에서 큰따옴표를 조판하는 것처럼 보입니다.문서.

yaml 옵션 을 사용하여 pandoc에 사용할 새로운 LaTeX 명령을 정의할 수 있습니다 header-includes:. (또는 명령줄 플래그와 함께 포함된 별도의 파일에 있습니다 -H.) 제가 생각하는 한 가지 옵션은 이러한 명령을 사용하여 이 환경을 재정의하는 것입니다. 정상으로 돌아가려면 템플릿이 정의한 방식으로 다시 정의해야 합니다.

---
title: My Document
author: Someone
date: 7 May 2022
header-includes: |
    \definecolor{myred}{RGB}{245,20,20}
    \newcommand{\normalquote}{
        \definecolor{blockquote-text}{RGB}{119,119,119}
        \renewmdenv[rightline=false,
            bottomline=false,
            topline=false,
            linewidth=3pt,
            linecolor=blockquote-border,
            skipabove=\parskip]{customblockquote}
    }
    \newcommand{\redalert}{
        \definecolor{blockquote-text}{RGB}{240,240,240}
        \renewmdenv[
            linewidth=2pt,
            linecolor=black,
            leftmargin=10pt,
            rightmargin=10pt,
            backgroundcolor=myred,
            fontcolor=white,
            shadow=true,
            skipabove=\parskip]{customblockquote}
    }

...

This is some regular text.


> This is a regular quote.

\redalert
> This is a *very* red box with a shadow and light text.

\normalquote
> This is a normal blockquote again.

pandoc 견적 재정의 예

물론 원하는 만큼 스타일을 정의할 수 있습니다.

pandoc 필터와 템플릿에 대해 더 많이 알고 있다면 더 간단한 방법이 있을 것입니다. 그러나 이것은 귀하의 목적에 충분히 잘 작동할 수 있습니다.

답변2

R 마크다운의 혁신적인 도약을 목표로 하는 4절판으로의 전환을 고려해보세요. 어쩌면 이것은 사용자 정의 템플릿에 연결되어 있는 경우 좋은 생각이 아닐 수도 있습니다(일부/많은 변경 후 또는 전혀 사용되지 않은 4절판에서 사용할 수 있는지 테스트하지 않았습니다). 그렇지 않으면 4절판에는 사용하기 쉬운 사전 정의된 일부가 포함됩니다. "콜아웃":

음


출처( mwe.qmd):

---
format: pdf
---

## Callouts in Quarto

In Quarto (next generation of R markdown) you can use "callouts" 
to show predefined alert boxes. For PDF output, \LaTeX\   
`tcolorbox` package is used in the background automatically.


::: callout-note

There are five types of callouts: 
`note`, `tip`, `warning`, `caution` and   `important`. 

:::

::: callout-tip
## Tip with custom caption

This is an example of a tip with custom caption.

:::
    
::: callout-warning
foo
:::

::: {.callout-caution}
## Take care !  

foo

:::

::: callout-important
foo
:::

"클래식" R 마크다운에서는 다음도 사용할 수 있습니다.맞춤 블록다양한 LaTeX 환경을 생성합니다. 예를 들어, 간단한 tcolorbox것은 다음과 같습니다:

::: {.tcolorbox data-latex="[title=Warning]"}
foo 
:::

하지만 보시다시피 기본 상자의 경우에도 구문이 조금 더 복잡하며 템플릿에 필요한 패키지를 포함하는 작업을 담당하고 header-includes더 정교한 상자를 만들려면 추가 작업이 필요합니다(참조: 링크), Quarto에서는 간단한 설명 블록을 입력하면 됩니다. 또한 이러한 블록은 다른 형식으로 내보낼 수 없지만 Quarto의 콜아웃은 es를 매우 잘 모방하는 HTML 및 DOCX 테이블로 내보낼 수 있습니다 tcolorbox.

답변3

토론이 훈계 블록 쪽으로 기울고 있는 것 같으므로 Awesome Boxes를 살펴보는 것이 좋습니다.

https://www.nic.funet.fi/pub/TeX/CTAN/graphics/awesomebox/awesomebox.pdf

사용하기 쉽고 markdown 및 pandoc과 잘 작동합니다.

관련 정보