xpatch

通过添加新的(可选)参数来修补命令(并将“newcommand”变成“NewDocumentCommand”)
xpatch

通过添加新的(可选)参数来修补命令(并将“newcommand”变成“NewDocumentCommand”)

在包中,我想通过添加可选参数来自定义现有宏,以控制图像的大小。但是,我不知道如何修补命令以添加参数。理想情况下,我希望在末尾添加参数(否则我需要修补所有函数以将 更改为#1)#2,我特别喜欢这种NewDocumentCommand工作方式... 那么,有可能修补\newcommand*\hello[1]{...}吗\NewDocumentCommand{\hello}{mo}{...}? \documentclass{article} \newcommand*\hello[1]{% Hello #1. } % Goal: patch into: % ...

Admin

修补 \usepackage / \RequirePackage
xpatch

修补 \usepackage / \RequirePackage

我想对我加载的软件包(其中一些是我自己编写的)实现自动基准测试。目前我的前言部分需要 15 秒才能加载,比编译文档其余部分所需的时间要长得多。 为此,我想实现这一点回答,建议使用etoolbox来patchcmmd修补usepackage。由于我的大部分软件包加载都发生在我自己的软件包内部,所以我想在 上使用这种方法RequirePackage。然而,我选择使用xpatch的实用程序,因为我读到过,常规patchcmd无法处理带有可选参数的命令。 到目前为止我最好的尝试是这样的(请不要介意通过 AfterEndPreamble 的丑陋的自动输出): \Req...

Admin

如何增加回忆录目录附录与其连字符之间的间距?
xpatch

如何增加回忆录目录附录与其连字符之间的间距?

修补后(手动,即直接编辑回忆录的代码),如下所示: 它看起来应该是这样的: 我尝试使用 修补回忆录xpatch。我做的这个补丁如果能找到正确的代码就会起作用,但xpatch它说找不到要修补的代码: \documentclass[ 12pt, ]{abntex2} % memoir is loaded internally by the `abntex2` class \usepackage{xpatch} \makeatletter \newcommand{\chapternumberlineappendixpatch}[1]{% \chap...

Admin

如何在书籍类的目录(用于章节)中添加前缀和换行标题行文本?
xpatch

如何在书籍类的目录(用于章节)中添加前缀和换行标题行文本?

我正在寻找一种方法,将文本“Chapter”作为书籍类目录中章节编号的前缀,并将章节标题换行到目录列表的最左侧。我正在将其构建为一个通用资源,目前分为两部分,一部分是仅包含包的类文件,另一部分是序言中 \input 的设置 .tex 文件。我在设置文件中尝试了两种不同的方法。下面的第一个方法没有正确捕获所需的补丁。 \documentclass{book} \usepackage{xpatch} \usepackage{hyperref} \makeatletter \xpatchcmd{\@chapter...

Admin

regexpatch 和 newpxtext 之间的软件包冲突
xpatch

regexpatch 和 newpxtext 之间的软件包冲突

新版本newpxtext似乎会加载xpatch,这会与使用 的软件包发生冲突regexpatch。有什么方法可以解决这个问题?例如,是否可以在已经加载xpatch时阻止其被加载?regexpatch \documentclass{article} \RequirePackage { regexpatch } \RequirePackage { newpxtext } \begin{document} Text in case of empty. \end{document} ...

Admin

无法使引用行号的索引列出多个实例
xpatch

无法使引用行号的索引列出多个实例

我无法理解现有的例子,例如这。 我正在使用ekdosis依赖于的包verse,最终lineno为基于长诗的文档生成行号。现在我得到了以下命令的帮助,但我无法获得正确的结果,该结果应为“rose, 1, 4, 8”。我得到的是“rose, 8”: \documentclass{report} \usepackage{imakeidx} \usepackage{xpatch} \usepackage{ekdosis} \makeindex \makeatletter \newcommand{\lineindex}[1]{\linelabel{#1}\inde...

Admin

关于 \xpatchcmd、l3keys2e 包中的 \ProcessKeysOptions、kvoptions 包中的 \ProcessKeysOptions 和 \widowpenalties 的问题
xpatch

关于 \xpatchcmd、l3keys2e 包中的 \ProcessKeysOptions、kvoptions 包中的 \ProcessKeysOptions 和 \widowpenalties 的问题

我使用 nowidow 包和 \setnowidow,但在某些情况下它工作不正常: 比如我希望段落可以在红色位置分页,但是却不行。 然后我测试,如果我改变nowidow.sty,使其\widowpenalties 2 10000 0成为\widowpenalties 3 10000 -1 0,它可以正常工作。 \newcommand{\setnowidow}[1][\nowidow@defaultlines]{% \mathchardef\nowidowmax#1\relax % \widowpenalties #1 \nowidow@X{...

Admin

如何使用xpatch替换blx-caspervector-base.def中的某些行代码?
xpatch

如何使用xpatch替换blx-caspervector-base.def中的某些行代码?

如何使用替换来自xpatch中的某些代码行blx-caspervector-base.def这里,即分别将第55、56、70、72行替换为如下代码: andmore = {\bbx@cetext{\bbx@cnetal}{et\addabbrvspace al\adddot}}, andothers = {\bbx@cetext{\bbx@cnetal}{et\addabbrvspace al\adddot}}, {\bbx@cetext{\bbx@cnetal}{\mkbibemph{et\addabbrvspace al\adddot}}}, {\b...

Admin

添加定义自己的字体的补丁到命令中
xpatch

添加定义自己的字体的补丁到命令中

是否可以向命令添加新补丁\mathit以使用不受数学模式控制的字体。 我想要使​​用数学模式TeX Gyre Termes 数学和五受控制\mathit使用电脑现代 代码: \documentclass{book} \usepackage[no-math]{fontspec} \showoutput \setmainfont{Times New Roman} \RequirePackage{unicode-math} \setmathfont{TeX Gyre Termes Math} \begin{document} ${v}_v=\mathit{v...

Admin

使用突出显示自己姓名和减少作者列表的格式对论文进行全引用
xpatch

使用突出显示自己姓名和减少作者列表的格式对论文进行全引用

我想打印自己的出版物,并通过突出显示自己的名字来表明我是作者。由于有些出版物有 100 多名作者,我不想打印所有作者(有些出版物有 5-10 位作者,但整页名字看起来很难看)。总的来说,我找到了一个解决方案,但目前有一个空格,如果我跳过一些名字,我希望去掉它(目前是:“第一作者,...,我,等。”;应该是:“第一作者,...,我,等。”)。 还有一些可以改进的地方,但对我来说并不重要(1. 我的名字是否也在常规参考书目中突出显示,而不仅仅是在我的 fullciteNEW 命令中;2. 目前几个字段如卷、doi 等以静态方式包含在内;3. 如果作者数量低于 1...

Admin

xpatch 和 hyperref 包之间可能不兼容
xpatch

xpatch 和 hyperref 包之间可能不兼容

我最近一直在创建自定义类,发现我想要的命令之一,\xpatchcmd在某些情况下不起作用。我发现加载包hyperref是罪魁祸首。 作为参考,我指的是这个答案\xpatchcmd我在自己的 MWE 中实现了的应用: 预期结果(无加载hyperref) 在最小设置下,它可以按预期工作,给出水平规则: \documentclass{article} \usepackage{xpatch} \makeatletter \xpatchcmd{\maketitle}{\@date}{\@date\par\rule{\textwidth}{1pt}}{}{} \ma...

Admin

如何将宏参数扩展为字符串,删除所有空格,然后在 \NewDocumentCommand 宏定义中附加和添加字符串?
xpatch

如何将宏参数扩展为字符串,删除所有空格,然后在 \NewDocumentCommand 宏定义中附加和添加字符串?

我想将宏参数扩展为字符串,删除所有空格,然后在 \NewDocumentCommand 宏定义中附加和添加字符串。 这是我使用 LuaLaTeX 的 MWE。 \documentclass[oneside,DIV=12]{scrbook} \usepackage{scrhack} \usepackage{mathtools, amssymb} \usepackage[warnings-off={mathtools-colon,mathtools-overbracket}]{unicode-math} \setmathfont{Latin Mode...

Admin

使用 regexpatch 修补数学命令
xpatch

使用 regexpatch 修补数学命令

我想允许我的内联数学在 之后换行\sim,我经常使用这种方法。为此,我尝试过: \usepackage{regexpatch} ... \xapptocmd{\sim}{\allowbreak}{SUCCESS}{FAIL} ... $X \sim N(0, 1)$ 不幸的是,这只是打印FAIL在文档顶部,但我不确定如何诊断\xapptocmd实际失败的原因。 可以用这种方式修补数学命令吗? 如果有帮助的话,我很乐意regexpatch与任何其他包进行交换。 ...

Admin

帮助 xpatch-ing 来自 xkeyval:\setkeys 的命令
xpatch

帮助 xpatch-ing 来自 xkeyval:\setkeys 的命令

我正在尝试修补\setkeys,xkeyval以便它包含一个键掩码,在\setkeys调用时完全忽略。请注意,\setkeys在各种宏中调用,并且有很多宏,因此修改调用站点是不优雅的,甚至不可行。我的目标是以优雅和自动的方式动态隐藏和显示某些类型理论表中的某些字段。 经过几天的辛苦和调试,我决定在这里发布我的问题,看看是否能引起人们的兴趣。 最小示例: \documentclass{article} \usepackage{xkeyval, xpatch, xstring, luacode, xargs} \makeatletter \define@cmd...

Admin

我该如何修补“minted”以使用“soul”的高亮功能
xpatch

我该如何修补“minted”以使用“soul”的高亮功能

我想像grayStackExchange 那样用背景突出显示代码。我知道我可以设置bgcolor为minted在内联代码上放置纯色背景。 但是,这使得mintedusecolorbox不会像 markdown 那样跨越长行: 这是一个很短的普通句子。here_is_a_very_long + code_snippet + that_ends_up + wrapped。框未延伸到右边距。 我的理解是,该soul包提供了这种类型的突出显示。我天真地尝试使用它,借鉴了https://tex.stackexchange.com/a/276750/41112,就像...

Admin