active-characters

多语:babelshorthands 在 \title 中停止工作
active-characters

多语:babelshorthands 在 \title 中停止工作

我使用 polyglossia 而不是 babel 来处理多语言文档,并激活 babel 的德语简写功能,这样我可以轻松地在单词中添加明确的连字符而不会破坏连字符等。 昨晚我更新了我的 MikTeX 安装(上次更新是在 8 月),"=现在使用的显式连字符在 s 中不再起作用\title。这是一个 MWE: \documentclass{article} \usepackage{polyglossia} \setmainlanguage[babelshorthands=true]{german} \title{Super"=duper Dokument} ...

Admin

以 ... (三个点)作为宏名
active-characters

以 ... (三个点)作为宏名

为了方便起见(也为了加深我的 LaTeX 知识),我尝试以一种简单的方式定义一个列表:\mylist(First, Second, Third, ...) 用其他东西替换逗号(在本例中是\texttt{,}有效的,但我很难转换最后的省略号。当任何部分有一个点时,我的解决方案就会失败。 这是我的 MWE: \documentclass[a4paper]{article} \makeatletter \def\mylist (#1){% \begingroup% \begingroup\lccode`~=`, \lowercase{\endg...

Admin

编写包时如何处理 babel 活动字符?
active-characters

编写包时如何处理 babel 活动字符?

在bodeplot包中,我使用定义了新的环境(这样定义是为了避免tikz图形外部化的问题) \documentclass{standalone} \usepackage{pgfplots,xparse} \pgfplotsset{compat=1.18} \NewDocumentEnvironment{MyEnv}{O{}mm+b}{ \begin{tikzpicture} \begin{semilogxaxis}[xmin={#2},xmax={#3},ymin=0,ymax=1] #4 \end{semilogxaxis}...

Admin

仅在文本模式下活动字符
active-characters

仅在文本模式下活动字符

我有以下代码来替换',\textquotesingle因为当我输入撇号时我更喜欢这个符号。 \makeatletter \catcode`\'=\active \def'{\textquotesingle} \makeatother 问题是,当我想编写一个函数的导数时,它无法编译,我必须输入\text{'},但它看起来甚至不太好,它应该看起来有点倾斜。 所以我想知道是否有可能仅'在文本模式下而不是在数学模式下创建活动字符,这样我就可以轻松输入\[ f'(x) \]。 ...

Admin

可以定义活动字符,但不能在 \def 内定义?
active-characters

可以定义活动字符,但不能在 \def 内定义?

这是我之前的问题的后续:检测下一个字符的 catcode? "我想要做的是:计算文档主体中使用的数量。我不将其用于"数学、babel 快捷方式或 Unicode 字符等目的。仅用于对话引用(小说写作、英语)。 我搜索了各种软件包,发现它polyglossia有gloss-dutch,它可以将一些重音字符设置为活动字符。这是在\def宏完成的。它看起来正是我需要的。令我惊讶的是,当我编写代码时,它可以工作不是在\def,但当我编写代码时失败之内a \def(无法访问)。MWE 的工作方式如下: \documentclass{article} % Compile...

Admin

仅使第一个空间处于活动状态
active-characters

仅使第一个空间处于活动状态

这是对上一个问题由于受到不公正对待,该账户已被关闭。 简要回顾:让\newcommand{\foo}{foo}.\foo在文本中像这样 test \foo bar 将省略后面的空格\foo,结果为test foobar,而 test {\foo} bar test {\foo}. 生产test foo bar,test foo.这正是我所需要的。 虽然在解析宏之前无法对其进行支撑,但有一种方法可以使 空格成为活动字符。 这是解决方案经过埃格尔这很接近我想要的。但是它使用了额外的环境包装器。 我的问题是如何应用相同的技术来创建活动空间,但只在之后一次\f...

Admin

防止活动字符在宏参数中扩展
active-characters

防止活动字符在宏参数中扩展

目标:写入文件时未扩展活动字符 平均能量损失 \documentclass{article} \makeatletter % == Package code -- untouchable \def\foo{\@ifnextchar[{\@foo}{\@foo[x]}} \DeclareRobustCommand\fooaux[1]{\message{#1}} \def\@foo[#1]{% \@foo@delegate{#1}} \def\@foo@delegate#1{ (#1) \@foo@write } \def\@foo@writ...

Admin

检测活动字符后的空格不会处理尾随格式宏
active-characters

检测活动字符后的空格不会处理尾随格式宏

有一个活动字符*(可以是任何字符,星号仅用于演示目的)。 如果后面的字符*是空格,则写入\marginpar{foo},否则写入\marginpar{bar}。这样就成功了。 活动字符可以有一个可选参数。可选参数必须紧跟在活动字符后面,否则它不会被视为宏参数,例如*[wut] blaor *[but]yum,但* [noo]where[noo]不会被解释为宏参数,因为它被空格分隔。这也有效。 我认为这是一个简单的任务,但是当活动字符后面的标记是格式化宏时,就会不断出现错误,例如*[flut]\textbf{...}。 我偷借了一些 LaTeX2e 宏来满足我...

Admin

如果处于 \active 状态,如何打印垂直条?
active-characters

如果处于 \active 状态,如何打印垂直条?

我正在尝试打印垂直线符号,但它是\active文档ltxdoc样式(此代码无法编译): \documentclass{ltxdoc} \begin{document} This is a vertical bar: |\|| \end{document} 我希望栏位位于|...|格式内,本质上是\texttt{...}此文档样式。有什么解决方案吗? ...

Admin

使  像一个宏一样运行
active-characters

使 像一个宏一样运行

我用来jinja编写模板。这使我能够处理类似下面的文件。 \documentclass[a4paper, 12pt]{article} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \newcommand\devtool[1]{\fbox{#1}} \begin{document} $f(x) = <:f:>$ . \end{document} 为了在使用之前测试我的模板,我希望它能<:f:>像这样工作\devtool{f}。 换句话说,我想激活<: ......

Admin

为什么 \newcommand 对已经定义的活动字符不会产生错误?
active-characters

为什么 \newcommand 对已经定义的活动字符不会产生错误?

我们(或者至少我)通常认为活动字符只是另一个命令,其名称恰好是字符而不是控制序列。那么为什么如果已经定义\newcommand<active character>就不会产生错误呢?<active character> \documentclass{article} \begin{document} \newcommand\newcommand{coffee} % error \newcommand~{coffee} % no error ~ \end{document} ...

Admin

如何定义一个新角色同时避免与现有的角色定义发生冲突?
active-characters

如何定义一个新角色同时避免与现有的角色定义发生冲突?

我想定义一个新的特点。具体来说,对于上下文,我的新字符的作用类似于^上标字符,但会在上标上下文周围加上括号。 我知道我可以写一篇正常命令, 喜欢 \newcommand{\superscriptWithParentheses}[2]{{#1}^{({#2})}} 产生所需的结果。例如,\superscriptWithParentheses{x}{i}将成功创建x^{(i)}。但我希望定义一个字符而不是普通命令。为什么?出于同样的原因,人们更喜欢写x_i而不是。(基本上,我的动机与(1)当参数变得复杂时源代码的可读性和(2)与类似运算符和x\sp{i}的语法一...

Admin

TeX 中默认激活的字符有哪些?
active-characters

TeX 中默认激活的字符有哪些?

由于该角色~的 catcode 为 13,因此它被视为活动角色。我可以通过执行类似代码 \let~\catcode ~`a8(为该角色分配acatcode 为 8(表示下标))来(滥用)它,而无需先执行此操作\catcode`~13。 TeX 中还有哪些其他字符默认被视为活动字符?换句话说,哪些字符的默认 catcode 为 13? ...

Admin

在 LaTeX3 中,如何提前查看活动字符?
active-characters

在 LaTeX3 中,如何提前查看活动字符?

LaTeX3 定义了\peek_catcode_ignore_spaces:NTF允许我提前查看流中的下一个标记(忽略空格)并将其 catcode 与一系列标准标记的 catcode 进行对比。因此我可以这样做: \peek_catcode_ignore_spaces:NTF \c_math_toggle_token { Uh-oh,~ upcoming~ math! } { Phew!~ Just~ text. } 看看接下来是否是数学转变。 我该如何做同样的事情,但要针对一个活跃的角色?没有\c_active_token可以测试的。我尝试通过模拟制作其...

Admin

在 expl3 中重新定义活动字符 `~`
active-characters

在 expl3 中重新定义活动字符 `~`

有没有办法重新定义~expl3 语法中的波浪号 ( ) 活动字符?在 expl2 中,我只需执行类似 的操作\let~\relax,但由于 expl3 中的 解释~,这是不可能的。 ...

Admin