首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在ASCII编码的Rd文件中键入重音字符?

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

Stack Overflow用户
提问于 2022-02-07 15:42:07
回答 2查看 227关注 0票数 3

在LaTeX文件中可以使用口音的Rd转义吗?我尝试了标准的\'e和许多变体(\'{e}{\'e}\\'e\\'{e}{\\'e}等等),但是在PDF或HTML输出中,没有一个被呈现为重音字符。

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

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

这个问题不是关于

或者变体。

最小测试包

封装结构

代码语言:javascript
复制
test
test/man
test/man/one.Rd
test/R
test/R/one.R
test/DESCRIPTION

test/man/one.Rd

代码语言:javascript
复制
\name{one}
\alias{one}
\title{Get One}
\description{Accents are not rendered: \'e \'{e} {\'e} \\'e \\'{e} {\\'e}}
\usage{
one()
}

test/R/one.R

代码语言:javascript
复制
one <- function() 1

test/DESCRIPTION

代码语言:javascript
复制
Package: test
Version: 0.1
Title: Test
Author: Nobody
Maintainer: Nobody <no@body.org>
Description: Test.
License: GPL-3

生成、检查和安装时:

代码语言:javascript
复制
$ R CMD build test
$ R CMD check test_0.1.tar.gz
$ R CMD INSTALL test_0.1.tar.gz
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-02-07 19:31:08

Rd语法只是类似乳胶的:它支持有限的一组宏,但如果存在这些宏,这些宏的行为并不能像它们的LaTeX对应物那样。相反,很少有LaTeX宏具有Rd等效项。

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

WRE的部分专门编码地址。支持在Rd文件中使用非ASCII字符,条件是在文件本身(通过\enc\encoding)或在DESCRIPTION (通过Encoding字段)中声明适当的编码。但是,鼓励对ASCII字符的限制:

尽可能避免Rd文件中的非ASCII字符,甚至避免“<”、‘’>、‘$’、‘^’、‘&’、‘\’、‘@’、‘~’和‘*’外部“逐字”环境中的符号(因为它们可能在设计用于呈现文本的字体中消失)。

在呈现帮助中获得非ASCII字符而不将非ASCII字符包括在Rd文件中的推荐方法是使用条件文本\ifelse允许您为PDF帮助页提供原始LaTeX,为HTML提供原始LaTeX,为纯文本帮助页提供逐字文本:

代码语言:javascript
复制
\ifelse{latex}{\out{\'{e}}}{\ifelse{html}{\out{&eacute;}}{e}}

这是相当冗长的,所以我建议定义自己的宏man/macros/macros.Rd中。您可以使用\newcommand\renewcommand来完成这一任务。

代码语言:javascript
复制
\newcommand{\eacute}{\ifelse{latex}{\out{\'{e}}}{\ifelse{html}{\out{&eacute;}}{e}}}

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

票数 2
EN

Stack Overflow用户

发布于 2022-02-07 15:59:13

使用数学模式是可行的。不确定100%,如果这是你想要的。

下面是一些示例:

代码语言:javascript
复制
  \'{e} {\'e} \\'e \\'{e} {\\'e}

$\acute{e}$

$\grave{e}$

$\tilde{e}$

PDF输出:

代码语言:javascript
复制
’{e} {’e} \‘e \’{e} {\’e}
é
è
ẽ

更新:

代码语言:javascript
复制
\newcommand\latexcode[1]{#1}

\latexcode{\'{a}}

Thoma\latexcode{\'{s}}

那很管用托马斯!

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71021330

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档