![回忆录,markdown:将章节的第一个单词输入到命令中(用于自动首字下沉)](https://linux22.com/image/444681/%E5%9B%9E%E5%BF%86%E5%BD%95%EF%BC%8Cma%E2%80%8B%E2%80%8Brkdown%EF%BC%9A%E5%B0%86%E7%AB%A0%E8%8A%82%E7%9A%84%E7%AC%AC%E4%B8%80%E4%B8%AA%E5%8D%95%E8%AF%8D%E8%BE%93%E5%85%A5%E5%88%B0%E5%91%BD%E4%BB%A4%E4%B8%AD%EF%BC%88%E7%94%A8%E4%BA%8E%E8%87%AA%E5%8A%A8%E9%A6%96%E5%AD%97%E4%B8%8B%E6%B2%89%EF%BC%89.png)
我正在使用作者提供的简单 Markdown 编写一部小说。此工作流程效果出奇地好,并产生了专业效果memoir
。markdown
现在,锦上添花的是,我想自动显示\lettrine
章节的第一个单词。这个网站上有一些方法,但没有一个适合我的问题。我基本上是在寻找一种将章节的第一个单词提供给命令的方法。然后我可以使用一些 Lua 代码来决定何时以及如何使用首字下沉。
下面是我使用的环境的简化示例:
\documentclass{memoir}
\chapterstyle{thatcher}
\usepackage{fontspec}
\setmainfont{TeX Gyre Pagella}
\usepackage[english]{babel}
\usepackage[babel, strict]{csquotes}
\MakeOuterQuote{"}
\MakeInnerQuote{´}
\usepackage[inlineFootnotes, smartEllipses, fencedCode]{markdown}
\markdownSetup{
renderers = {
ellipsis = {\dots},
tilde = ~
}
}
\begin{document}
\markdownInput{test.md}
\end{document}
这是一个例子test.md
:
# First chapter
*Some italic text as often seen in introductions.*
*Lorem ipsum dolor sit amet, consectetur adipisici elit, sed eiusmod tempor incidunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquid ex ea commodi consequat. Quis aute iure reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint obcaecat cupiditat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.*
Lorem ipsum dolor sit amet, consectetur adipisici elit, sed eiusmod tempor incidunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquid ex ea commodi consequat. Quis aute iure reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint obcaecat cupiditat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
# Second chapter
"This one starts with a quote." That's where the Lua code will decide how to set it~...
Lorem ipsum dolor sit amet, consectetur adipisici elit, sed eiusmod tempor incidunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquid ex ea commodi consequat. Quis aute iure reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint obcaecat cupiditat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
# Third chapter
Just normal text.
Lorem ipsum dolor sit amet, consectetur adipisici elit, sed eiusmod tempor incidunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquid ex ea commodi consequat. Quis aute iure reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint obcaecat cupiditat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
不幸的是,我对 Tex 不太熟悉,如果能得到任何帮助,我将不胜感激。如果这个问题无法解决,那也不算太糟。正如所说,这只是锦上添花。
谢谢,Flössie
答案1
由于这个问题似乎很难仅用 LaTeX 来解决,所以我自己编写了一个程序,\markdownInput
使用 Lua 将作者的 Markdown 即时转换为 LaTeX。这个程序运行得很好,包括自动首字下沉和自动引用(csquotes
之前已经做过了)。它肯定不如软件包那么强大,markdown
但更适合我的需求,当然也更容易为我定制。
您可以找到代码这里。
祝好,Flössie