LaTeX 软件包“更改”-删除匿名作者

LaTeX 软件包“更改”-删除匿名作者

使用“changes”包,是否可以删除或重命名包自动添加的“匿名作者”?

使用时

\definechangesauthor[name={My Name}, color=orange]{me}
\listofchanges[style=summary, title={Corrections Summary}]

我看到列出了两个作者,一个是通过命令添加的“我(我的名字)” definechangesauthor,第二个是“匿名”,如下所示:

Author:  anonymous 
No changes.
 
Author:  me (My Name) 
Added   . . . . . . . . . . . . . .  4
Deleted   . . . . . . . . . . . . .  2
Replaced  . . . . . . . . . . . .  7
Highlighted   . . . . . . . . .  0
Commented  . . . . . . . . .  0

我要么希望能够删除空的“匿名”块,要么更好的是能够将“匿名”重命名为我的名字,从而避免\definechangesauthor完全使用。

但是,我在文档中没有看到有关该包执行此操作的任何内容。

有什么建议么?

答案1

您可以重新定义宏\changesanonymousname。如果您使用babel包,则需要将重新定义 \begin{document}因为changes包告诉babel在期间用当前语言设置预定义名称\begin{document}

梅威瑟:

\documentclass{article}
\usepackage[english]{babel}
\usepackage{changes}
\begin{document}
\def\changesanonymousname{Tom Carpenter}
abc
\added{def}
\deleted{klm}
xyz

\listofchanges[style=summary, title={Corrections Summary}]
\end{document}

结果:

在此处输入图片描述

答案2

第一个解决方案。更改 的定义\changesanonymousname。请注意,这里没有上标“Id”,因为这里只有一位作者(匿名改名为 Bob):

\documentclass{article}
\usepackage{changes}
 \def\changesanonymousname{Bob}
\begin{document}
  Hello world \added{Text added}
    \listofchanges[style=summary, title={Corrections Summary}]
\end{document}

在此处输入图片描述

如果要将默认颜色更改为橙​​色:

\documentclass{article}
\usepackage[defaultcolor=orange]{changes}
 \def\changesanonymousname{Bob}
  \def\changesauthorname{\color{orange}Author}
\begin{document}
  Hello world\added{Text added by Bob}
    \listofchanges[style=summary, title={Corrections Summary}]
\end{document}

在此处输入图片描述

第二种解决方案。尝试“删除”匿名作者。匿名作者仍然存在,但他是“不可见的”,直到id输入不带选项的命令(例如\added{text added})。

\documentclass{article}
\usepackage{changes}
  \definechangesauthor[name={My Name}, color=orange]{me}

\usepackage{xpatch}
  \makeatletter
    \xpatchcmd{\listofchanges}{\changesauthorname: \changesanonymousname}{}{}{}
    \xpatchcmd{\listofchanges}{\parbox{\Changes@summary@width}{\changesnochanges}\\[1ex]}{}{}
  \makeatletter

\begin{document} 
  Hello world\added[id=me]{Text added by me}
    \listofchanges[style=summary, title={Corrections Summary}]
\end{document}

在此处输入图片描述

答案3

我针对这个问题开了一个issue:

https://gitlab.com/ekleinod/changes/-/issues/107

正如我在那里写的:

为了尽快实现此目的,只需使用:

\AtBeginDocument{\def\changesanonymousname{your name}}

这也应该在序言中起作用。

但这仅影响变更的摘要列表。

我认为,使用\usepackage[authormarkuptext=name]{changes}名称时也应该出现“匿名”。目前,匿名作者的名称也是空的。

更新 2021-07-07:

该问题已关闭,从 v4.2.0 开始有一个命令

\setanonymousname

将匿名作者的名字设置为您选择的名字。

v4.2.0 于 2021-07-07 上传至 CTAN,通常应在 2-5 天内出现在发行版中。

相关内容