2024-06-17 12:25:08 发布
网友
我想将我在latex中的所有引用从\cite{authoryear}更改为[\Citealt{authoryear}]。你知道吗
\cite{authoryear}
[\Citealt{authoryear}]
为了做到这一点,我尽力了
re.sub(r"\cite{[a-zA-Z0-9]}", r"[\Citealt{a-zA-Z0-9]}]", "bla bla \cite{doe2013}")
但这根本不管用。我怎样才能做到这一点?你知道吗
这个问题很久以前就有人问过了,作者可能已经不在乎了。。。但这是一个更好的答案:
re.sub(r'\\cite{(.*?)}', r'[\\Citealt{\1}]', '\\cite{123} \\cite{234}')
具体而言,这考虑了几个因素:
.*?
\
你可以使用反向引用。你应该看看回复sub文档http://docs.python.org/2/library/re.html#re.sub我创建了一个小示例:
re.sub(r'\cite{(.*)}', r'[\Citealt{\1}]', '\cite{123}')
圆括号表示组,它们按左括号出现的顺序编号。您可以使用backreferences\1引用前九个组。。。\9. 你知道吗
这个问题很久以前就有人问过了,作者可能已经不在乎了。。。但这是一个更好的答案:
具体而言,这考虑了几个因素:
.*?
带惰性量词\
你可以使用反向引用。你应该看看回复sub文档http://docs.python.org/2/library/re.html#re.sub我创建了一个小示例:
圆括号表示组,它们按左括号出现的顺序编号。您可以使用backreferences\1引用前九个组。。。\9. 你知道吗
相关问题 更多 >
编程相关推荐