【发布时间】:2020-11-05 16:25:46
【问题描述】:
在 Latex 中,通常使用“~”来引用标签,以保持标签上附加的数字,例如 Figure 或 Table。
https://tex.stackexchange.com/questions/227285/problems-with-tilde-and-line-breaking/227296 显示了一个例子。
可以在此处找到一个完整的示例:
http://md5.mshaffer.com/WSU_STATS419/stackoverflow/tilde/
在 Rmd 文件中,http://md5.mshaffer.com/WSU_STATS419/stackoverflow/tilde/reference-tilde.Rmd,
我有以下:
---
title: "Untitled"
output:
pdf_document:
keep_tex: true
number_sections: true
latex_engine: pdflatex
---
\section{My Section Name}
\label{sec:my}
Below you will find Equation~\ref{eq:my-model}.
\begin{equation}
\label{eq:my-model}
Y_{jt} = \alpha + \beta X_{jt} + \upsilon_{j} + \varepsilon_{jt} ,
\end{equation}
\subsection{My sub section}
\label{sec:mysub}
For more information, please refer to Section~\ref{sec:my}.
注意“~”波浪号在基本 Latex 用法中的概述。
当我点击 Knit-PDF 时,它会输出一些我没想到的东西:
http://md5.mshaffer.com/WSU_STATS419/stackoverflow/tilde/reference-tilde.pdf
由于我选择了“keep_tex”,所以我可以查看.TEX文件
http://md5.mshaffer.com/WSU_STATS419/stackoverflow/tilde/reference-tilde.tex 可以在这里在线查看:http://md5.mshaffer.com/WSU_STATS419/stackoverflow/tilde/reference-tilde.tex.txt
它似乎已将波浪号替换为文本版本:
\begin{document}
\maketitle
\section{My Section Name}
\label{sec:my}
Below you will find Equation\textasciitilde{}\ref{eq:my-model}.
\begin{equation}
\label{eq:my-model}
Y_{jt} = \alpha + \beta X_{jt} + \upsilon_{j} + \varepsilon_{jt} ,
\end{equation}
\subsection{My sub section}
\label{sec:mysub}
For more information, please refer to
Section\textasciitilde{}\ref{sec:my}.
\end{document}
我该如何纠正这种情况?
如何让 Latex 按预期呈现?
如何让我的代字号作为间隔号取回?
【问题讨论】:
-
我觉得在
knitrgithub 上提出问题是个好点(查看github.com/yihui/knitr/blob/master/R/utils.R 中的escape_latex函数)。也许~的gsub模式应该避免像\S~\这样的东西(写成好像 \ 不是特殊字符。现在我找不到如何在正则表达式中查找\......) -
现在我找到了。它应该至少避免
\\S~\\ref,但也应该避免(tex.stackexchange.com/a/36924/8639)\\S~\\d。 -
您可能需要考虑
\usepackage{cleveref}并使用\Cref{sec:my}而不是Section~\ref{sec:my}。
标签: r knitr pandoc knitr-spin