带标注的 \newcommand 语法

带标注的 \newcommand 语法

我怀疑我只是遗漏了一些小事,但我想也许有人可以提供帮助。

我正在使用带有 Eisvogel 模板的 Markdown 文件。我使用 awesomebox 和 fontawesome5 包来创建标注。我更喜欢在 Eisvogel 模板中使用 LaTeX 代码,以便让大多数内容保持简单的 Markdown。

这是现有的代码(一个问题和答案),后面跟着我的 Markdown 文件中的 /newcommand。

\awesomebox[maroon]{2pt}{\faQuestionCircle}{maroon}{\textbf{Question:} What flags in the output state what virtualization support is available on this server?}

\awesomebox[brandgreen]{2pt}{\faLightbulb}{brandgreen}{\textbf{Answer:} Multiple flags show up: \texttt{Virtualization: VT-x}, \texttt{Hypervisor vendor: KVM}, and \texttt{Virtualization type: full}. These flags provide information about the type of virtualization support available on this server.}

\question{This is a question.}

\answer{This is an answer.}

以下是我将代码添加到 Eisvogel 模板的方式:

%% Testing newcommands, question and answers
\newcommand{\question}[1][\textbf{Question:} ]{\awesomebox[maroon]{2pt}{\faQuestionCircle}{maroon}{#1}}
\newcommand{\answer}[1][{Answer:} ]{\awesomebox[brandgreen]{2pt}{\faLightbulb}{brandgreen}{#1}}

下面是我的前两个工作示例(Markdown 中的 LaTeX)的显示效果,接下来的两个是我的尝试(使用 \newcommand 将 LaTeX 移至 Eisvogel 模板)。

在 Markdown 中测试 LaTeX

我的问题是:

有没有什么简单的方法可以让我的问题出现在代码块内?

提前致谢。

答案1

以下是我解决问题的方法:

在 Eisvogel.tex 文件中我添加了以下代码行:

%% Testing newcommands, question and answers
\newcommand{\question}[1]{\awesomebox[maroon]{2pt}{\faQuestionCircle}{maroon}{#1}}
\newcommand{\answer}[1]{\awesomebox[brandgreen]{2pt}{\faLightbulb}{brandgreen}{#1}}

接下来,在我的 Markdown 文件中我添加了以下几行:

\awesomebox[maroon]{2pt}{\faQuestionCircle}{maroon}{\textbf{Question:} What flags in the output state what virtualization support is available on this server?}

\awesomebox[brandgreen]{2pt}{\faLightbulb}{brandgreen}{\textbf{Answer:} Multiple flags show up: \texttt{Virtualization: VT-x}, \texttt{Hypervisor vendor: KVM}, and \texttt{Virtualization type: full}. These flags provide information about the type of virtualization support available on this server.}

\question{Question: This is a question.}

\answer{Question: This is an answer.}

这就是最终的结果,正如我所愿:

在此处输入图片描述

eisvogel 模板或 Markdown 中不需要其他任何东西。运行 pandoc 构建脚本后,此代码应该可以工作:

#!/bin/bash
time -p pandoc \
    L0.md \
    L1.md \
    -o LabTest.pdf \
    --from markdown \
    --toc \
    --toc-depth 2 \
    --filter=pandoc-latex-environment \
    --template "eisvogel-lg.tex" \
    --number-sections \
    --listings

相关内容