当使用引号作为字符串的一部分时,通常需要对引号进行转义。我现在有一个My nice title
存储在中的字符串\mytitle
,我想从 LaTeX 中写入一个 JSON 文件,其内容为{title: "My nice title"}
。这与书中的工作原理相同。
但是,当标题包含引号时,例如,The case "Johnny R." is cool.
我必须转义标题中的引号,如{title: "The case \"Johnny R.\" is cool."}
。
所有 Javascript 库都有自动执行此操作的函数。但我该如何从 LaTeX 中执行这样的引号转义呢?
答案1
如果您使用的是 LuaTeX,则可以使用捆绑\luaescapestring
函数。否则,您可以尝试\myescapestring
使用 LaTeX3 实现的函数。
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{expl3}
\ExplSyntaxOn
\newcommand{\myescapestring}[1]{
\tl_set:Nn \l_tmpa_tl {#1}
\regex_replace_all:nnN {"} {\u{c_backslash_str}"} \l_tmpa_tl
\tl_use:N \l_tmpa_tl
}
\ExplSyntaxOff
\begin{document}
\par\luaescapestring{this is "a string"}
\par\myescapestring{this is "a string"}
\end{document}