gpt4 book ai didi

r - 如何在 ASCII 编码的 Rd 文件中键入重音字符?

转载 作者:行者123 更新时间:2023-12-05 05:47:29 24 4
gpt4 key购买 nike

可以在 Rd 文件中使用 LaTeX 转义重音符号吗?我尝试了标准的 \'e 和许多变体(\'{e}{\'e}\\' e\\'{e}{\\'e} 等),但在 PDF 或HTML 输出。

我希望我的引用部分(即 \references{})以重音字符呈现,但我不想在我的 Rd 中键入非 ASCII 字 rune 件。有好的/推荐的做法吗?我是否应该简单地将非 ASCII 字符替换为对应的 ASCII 字符(é → e、ø → o)?

明确地说,我知道可以直接在 UTF-8 编码的文件中键入重音字符(例如 é),但我更愿意保留 ASCII 编码的文件。

这个问题不是关于

或变体。

最小测试包

包结构

test
test/man
test/man/one.Rd
test/R
test/R/one.R
test/DESCRIPTION

test/man/one.Rd

\name{one}
\alias{one}
\title{Get One}
\description{Accents are not rendered: \'e \'{e} {\'e} \\'e \\'{e} {\\'e}}
\usage{
one()
}

测试/R/one.R

one <- function() 1

测试/DESCRIPTION

Package: test
Version: 0.1
Title: Test
Author: Nobody
Maintainer: Nobody <no@body.org>
Description: Test.
License: GPL-3

构建、检查和安装:

$ R CMD build test
$ R CMD check test_0.1.tar.gz
$ R CMD INSTALL test_0.1.tar.gz

最佳答案

Rd 语法只是 LaTeX-like:它支持一组有限的宏,但不能保证这些宏的行为与它们的 LaTeX 对应物(如果存在)一样。相反,很少有 LaTeX 宏具有 Rd 等价物。

This编写 R 扩展手册的部分描述了大多数内置的 Rd 宏。 this 的表 1、2 和 3技术论文提供了完整列表。

This WRE 的部分专门针对编码。支持在 Rd 文件中使用非 ASCII 字符,前提是您在文件本身(通过 \enc\encoding) 或在 DESCRIPTION 中(通过 Encoding 字段)。但是,鼓励限制使用 ASCII 字符:

Wherever possible, avoid non-ASCII chars in Rd files, and even symbols such as ‘<’, ‘>’, ‘$’, ‘^’, ‘&’, ‘|’, ‘@’, ‘~’, and ‘*’ outside ‘verbatim’ environments (since they may disappear in fonts designed to render text).

在您的 Rd 文件中包含非 ASCII 字符的呈现帮助中获取非 ASCII 字符的推荐方法是使用 conditional text . \ifelse 允许您为 PDF 帮助页面提供原始 LaTeX,为 HTML 帮助页面提供原始 HTML,为纯文本帮助页面提供逐字文本:

\ifelse{latex}{\out{\'{e}}}{\ifelse{html}{\out{&eacute;}}{e}}

这太冗长了,所以我建议 defining your own macro(s)man/macros/macros.Rd 中。您可以使用 \newcommand\renewcommand 执行此操作:

\newcommand{\eacute}{\ifelse{latex}{\out{\'{e}}}{\ifelse{html}{\out{&eacute;}}{e}}}

然后您可以在所有 Rd 文件中自由使用 \eacute{}。要检查所有格式的文本是否以您想要的方式呈现,请安装包并运行 help(topic, help_type=),其中 help_type 等于 "text ""html""pdf"

关于r - 如何在 ASCII 编码的 Rd 文件中键入重音字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71021330/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com