protected-macro

Try-Except 执行扩展时
protected-macro

Try-Except 执行扩展时

是否可以编写一个函数来执行以下操作: function \tryexpand (\foo): try: expand(\foo) except (Argument of \@following has an extra }): store "\relax" in `\result` else: store expansion of `\foo` in `\result` return \result 上下文:我正在尝试做\edef\result{\expanda...

Admin

使用 \protect 来概括带星号的命令的定义?
protected-macro

使用 \protect 来概括带星号的命令的定义?

这个答案非常有帮助让我定义了自己的带星号的命令。然而,为了在标题等中使用我的命令,经过一轮奇怪而几乎令人恐惧的想法后,我设法得出了以下内容(MWE): \documentclass{article} \makeatletter \def\testone{\@ifstar\@dothis\@@dothat} \def\testtwo{\protect\@ifstar\protect\@dothis\protect\@@dothat} \def\@dothis#1{#1} \def\@@dothat#1{#1} \makeatother \begin{docum...

Admin

受保护的限制
protected-macro

受保护的限制

看到 \cs_new_protected:Nn \feuds_newteorema_define:nn \feuds_newteorema_define这只是一个名为(据我所知,它接受两个参数)的函数的定义,还是别的什么? 这到底是什么意思Protected Restriction? ...

Admin

将 `\marginpar` 与章节标题对齐
protected-macro

将 `\marginpar` 与章节标题对齐

我尝试使用自定义命令,\marginpar在 内使用\section。根据另一个SE帖子,我必须\protect这样做。但在我的自定义包中反复试验后,如果我包含,它就会崩溃hyperref。有没有什么解决办法? \documentclass{article} %\usepackage{hyperref} \newcounter{clecturesep} \newcommand*{\lecturesep}[1]{% \stepcounter{clecturesep}% \marginpar{\small% Lect.~\th...

Admin

\graphicspath{{⟨cmd⟩/}}: 如果 ⟨cmd⟩ 使用 \newcommand 定义,但未使用 \DeclareDocumentCommand 找到,则找到图形文件
protected-macro

\graphicspath{{⟨cmd⟩/}}: 如果 ⟨cmd⟩ 使用 \newcommand 定义,但未使用 \DeclareDocumentCommand 找到,则找到图形文件

假设当前目录的myimage子目录中包含一个图形文件。images 使用以下 MCE: \documentclass{article} \usepackage{graphicx} \newcommand{\ImagesDirectory}{images} \graphicspath{{\ImagesDirectory/}} \begin{document} \includegraphics{myimage} \end{document} myimage找到图形文件。 但是,使用以下 MCE 时,其中\newcommand{\ImagesDirecto...

Admin

为什么 c 和 f 型扩展不尊重受保护的命令?
protected-macro

为什么 c 和 f 型扩展不尊重受保护的命令?

根据这个答案, 所有没有星号的函数都是(或至少应该是)\protected,这样它们就不会扩展x或e键入扩展或写入文件时。 f和c类型扩展不同,并且忽略\protected 既然拥有尊重ed 命令的扩展类型(例如x和)被认为是有价值的,那么为什么没有尊重ed 命令的- 和-type 扩展变体呢?(如果遇到ed 命令,-variant 将导致编译失败,据我所知,这是一种非常合理甚至有用的语义。)e\protectcf\protectc\protect 实际上,将标记列表扩展至仅剩 TeX 基元的想法在我看来违背了旨在expl3使底层 TeX 层不可见且...

Admin

不使用 \protect 的原因
protected-macro

不使用 \protect 的原因

所以我一直在研究宏的含义\protect。我发现这个问题答案很好地解释了命令脆弱的含义以及如何\protect解决这个问题。 但是,现在我不得不怀疑:我有什么理由希望我的命令不强大(即在其定义中不使用它)?毕竟,脆弱的命令似乎会导致各种各样的问题,而修复方法似乎(几乎)总是在命令中\protect添加一个(或者使用例如来自包的命令,据我所知,这会自动创建一个受保护的,也就是强大的命令)。\protect\NewDocumentCommandxparse ...

Admin

保护设置 \@currentlabelname 为 \phantomsection 赋予“名称”
protected-macro

保护设置 \@currentlabelname 为 \phantomsection 赋予“名称”

这是nameref 带有任意文本并且引用任意文本(不带编号且不按章节) 总而言之,问题是关于如何使用任意字符串引用文本中的任意点;而流行的解决方案是使用 previousText \phantomsection \label{L} textToBeReferenced [...] \hyperref[L]{textPointingToReference} 在这些问题中,作者满足于在插入引用的位置定义 textPointingToReference,但在我的用例中,我确实需要textPointingToReference在创建标签时定义字符串(或者...

Admin

如何将目录中的所有长文本插入行居中
protected-macro

如何将目录中的所有长文本插入行居中

考虑一下在目录中居中插入短文本没有问题的代码: \documentclass{book} \begin{document} \tableofcontents \addtocontents{toc}{\hfil\protect {\Large{\textbf{PART I.}}} \hfil} \addtocontents{toc}{\vskip 12pt \par} \addtocontents{toc}{\hfil\protect {\Large{\textbf{HERE IS A CENTERED TOC ENTRY.}}} \hfil} \addto...

Admin

在字幕中使用 siunitx v3 的自定义单位 - \protect 是否不够?
protected-macro

在字幕中使用 siunitx v3 的自定义单位 - \protect 是否不够?

我正在使用我的之前讨论过自定义命令(也在下面提供),siunitx。从版本 3 开始,我不再能够在标题中使用它们,而以前,\protect在它们前面添加总是有效的。 定义(在加载的sty文件中): % Define "quantity-product", as an alias in versions prior to 3.0; allows its unconditional use % From: https://tex.stackexchange.com/a/621037/134641 \@ifpackagelater{siunitx}{2021/05...

Admin

\protected 如何处理参数?它与 \protect 有什么不同?
protected-macro

\protected 如何处理参数?它与 \protect 有什么不同?

根据这个答案 \protect\foo扩展为类似于\noexpand\protect\noexpand\foo当它被保存到宏时的内容(例如在 beamer 框架之类的上下文中)。我认为\protected\def基本上只是将 \protect 放在宏的每个实例前面。如果不是,它会做什么?如果是,为什么\expandafter在应用于参数的受保护宏中可以正常工作? 其余内容仅供说明。我试图理解这\protected是什么意思,并认为示例可能有助于解释我所问的问题。 例如,下面定义的命令即使在 beamer 框架中也能正常工作,但如果我考虑一下如果我用 替换会发...

Admin

对于刚开始学习 Tex 的人来说,如何分解和解释这个复杂的命令呢?
protected-macro

对于刚开始学习 Tex 的人来说,如何分解和解释这个复杂的命令呢?

我得到了这个 Tex 命令,作为解决另一个问题并且它确实有效。但我很难理解它的工作原理,因为我对 Latex 编码不是很熟练,而且我想学习。 %\DTLfetchifnull{<db name>}% % {<column1 name>}% % {<column1 value>}% % {<column2 name>}% % {<tokens in case <column2-value&g...

Admin

如何自动保护参数中传递的所有命令?
protected-macro

如何自动保护参数中传递的所有命令?

我需要将一些数学公式写入辅助文件。 以下 MWE 不起作用: \documentclass{article} \usepackage{amsmath} \newwrite\filehandle \newcommand{\addToFile}[1]{\immediate\write\filehandle{#1}} \begin{document} \immediate\openout\filehandle=\jobname.test \addToFile{$\sum_{k=1}^n k$} \immediate\closeout\filehandle \...

Admin

如何保护 amsrefs 的 \bib* 字段内的脆弱命令或一般命令?
protected-macro

如何保护 amsrefs 的 \bib* 字段内的脆弱命令或一般命令?

我想请教一下如何保护\bib*包中不可引用的书目字段中的命令(我通常认为这些命令是脆弱的) amsrefs。 考虑以下 MWE1,摘自文档该软件包的文档amsrefs(2013 年 1 月 16 日版本): %MWE1 \documentclass{article} \usepackage{amsrefs} \begin{document} \cite{Burkholder1986a} \begin{bibdiv} \begin{biblist} \bib{Burkholder1986a}{article}{ author={Burkhold...

Admin