我希望在论文中添加 Markdown 注释块。但是,每次使用\begin{markdown}
它都会自动开始新的章节。
例如,这将生成两个章节,其中 markdown 列表位于第二章的开头:
主文本:
\documentclass[a4paper,twoside]{ociamthesis}
\begin{document}
\chapter{\label{ch:1-intro}Introduction}
I want this to be in Chapter 1
\begin{markdown}
# I want this to be in Chapter 1 but somehow it starts Chapter 2
- bullet 1
- bullet 2
- bullet 3
\end{markdown}
I want this to be in Chapter 1 too
\end{document}
ociamthesis.cls:
\LoadClass[openright,12pt]{report}
\usepackage[hybrid]{markdown}
有没有办法在不开始新章节的情况下包含 markdown 代码?(我正在使用 Overleaf)
我不是 Latex 的常规用户。因此,如果您需要更多信息来回答这个问题,请告诉我。
答案1
- 我从来没有用过
markdown
包裹之前:也许有更好的解释。 - 这个包看起来很有趣,特别是考虑到作者(例如汉斯·哈根谁是语境)。
- 您在 markdown 中使用
##
,它显然是二级标题。 - 这就像一个
\section
命令,因此你得到了1.1 Test
。 -->
##
解决方案是,如果您不想要新标题,就不要使用 markdown 标题命令(如):)。
註釋1:我必须使用-shell-escape
编译选项运行代码。否则我会收到相应的错误消息。
註釋2:原题目用的是##
(二级标题)后来题目中的代码改为#
。
您的代码(包括##
)
%% pdflatex -shell-escape %.tex
\documentclass{report}
\usepackage[hybrid]{markdown} % [hybrid] is not relevant in this example.
\begin{document}
\chapter{Introduction}
I want this to be in Chapter 1
\begin{markdown}
## Test
**bold**
\end{markdown}
I want this to be in Chapter 1 too
\end{document}
我的代码(不包括##
)
%% pdflatex -shell-escape %.tex
\documentclass{report}
\usepackage[hybrid]{markdown} % [hybrid] is not relevant in this example.
\begin{document}
\chapter{Introduction}
I want this to be in Chapter 1
\begin{markdown}
**bold**
\end{markdown}
I want this to be in Chapter 1 too
\end{document}
答案2
我将利用这个机会介绍一种完全不同且更灵活的管道。它完全不依赖于markdown
包。我使用pandoc
,但基本上任何 markdown 到 TeX 转换器都可以使用。
基本上,我编写一个 LaTeX 主文件,例如:
\documentclass{article}
\usepackage{microtype}
\begin{document}
\include{content} % !!!!
\end{document}
这content.md
是一个 markdown 文件,例如:
## Heading
Hello, I am *markdown*, _not_ **markup**!
奇迹发生在Makefile
(是的,Linux 和 Mac 世界,但应该可以在 Windows 上使用相应的附加软件,例如 Cygwun):
main.pdf : main.tex content.tex Makefile
latexmk -pdf main
content.tex : content.md Makefile
pandoc -f markdown+smart+raw_tex --natbib -t latex content.md -o content.tex
clean :
latexmk -C -pdf main
rm -f content.tex
现在,通过一个简单的make
命令,就可以使用 main.tex 中所有必需的 LaTeX 内容(例如期刊论文格式或字体)将文档从 Markdown 构建为使用 LaTeX 的 PDF。
请注意,我的 Makefile 包含一个raw_tex
过滤器,因此您可以写入降价文件:
```{=latex}
\begin{figure}[tb]
FIGURE
\end{figure}
```
标记的片段将按原样传递给 LaTeX。根据经验,pandoc
即使没有它,也可以检测到许多 LaTeX 命令,因此\mycommand{foo}
即使没有该过滤器也可以工作。