在我的LaTeX文件中,实际上有数千个以下结构出现:
$\displaystyle{...math goes here...}$
Run Code Online (Sandbox Code Playgroud)
我想用替换
\mymath{...math goes here...}
Run Code Online (Sandbox Code Playgroud)
请注意,$消失了,但是花括号仍然保留---如果不是尾随的$,这将是基本的查找和替换。如果我只知道任何正则表达式,我相信它会毫无问题地解决这个问题。我需要做些什么正则表达式?
提前谢谢了。
编辑:出现了一些问题,所以让我澄清一下:
$\displaystyle{ ... }$可以在同一行上多次出现。}$的(如$\displaystyle{...{more math}$...}$)。我的意思是,我想如果您将它放在\mbox或之类的东西中也是可以的,但是我无法想象为什么有人会在$\displaystlye{}$构造体中这样做,其目的是在文本内联显示数学。无论如何,这不是我曾经做过或可能要做的事情。sed s/\$\\displaystyle({[^}]+})\$/\\mymath\1/g *.tex”。不走运。如何使用sed执行我想要的操作?再次感谢所有提供的帮助。
我正在使用一个水平选择器UICollectionView.它很简单:A UIView以UICollectionView编程方式创建,使用UICollectionViewFlowLayout一个部分,滚动设置为水平.它出现在屏幕上,在正确的单元格中显示正确的数据.但它不会滚动 - 实际上它根本不响应用户交互.
这是视图的初始化程序:
- (id)initWithFrame:(CGRect)frame andItemData:(NSArray *)itemData
{
self = [super initWithFrame:frame];
if (self) {
_itemData = itemData;
UICollectionViewFlowLayout *flowLayout = [[UICollectionViewFlowLayout alloc] init];
[flowLayout setScrollDirection:UICollectionViewScrollDirectionHorizontal];
[flowLayout setItemSize:CGSizeMake(kCellWidth, kCellHeight)];
[flowLayout setMinimumInteritemSpacing:0.f];
[flowLayout setMinimumLineSpacing:0.f];
_collectionView = [[UICollectionView alloc] initWithFrame:[self frame] collectionViewLayout:flowLayout];
[_collectionView setDataSource:self];
[_collectionView setDelegate:self];
[_collectionView setBounces:NO];
[_collectionView registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:@"HorizontalPickerCell"];
[self addSubview:_collectionView];
}
return self;
}
Run Code Online (Sandbox Code Playgroud)
我尝试以编程方式设置UserInteractionEnabled为YES,但这没有任何区别(也不应该有,因为默认UserInteractionEnabled设置为YES).FWIW,集合视图使用标准UICollectionViewCells,s作为子视图UILabel添加到contentViews中. …
这是我从未真正理解的源代码控制,特别是Subversion(我曾经使用的唯一源代码控制,这并没有多说).我正在考虑转移到git或Mercurial,所以如果这会影响我的问题的答案,请指出.
好.据我了解,每次创建新文件时,我都要告诉SVN,以便知道将其添加到存储库并将其置于控制之下.就像是:
svn add newfile
Run Code Online (Sandbox Code Playgroud)
如果我是创建文件的人那就没关系:我知道我创建了它,我知道它的名字,我知道它在哪里,所以很容易告诉SVN它.
但现在假设我正在使用某种框架,如Rails,Django,Symfony等,并假设我已经完成了初始提交.所有这些框架都以编程方式创建新文件,通常多次在不同的目录中创建等等.等.如何告诉源代码控制这些新文件?我是否必须单独追捕每一个并添加它们?有没有更简单的方法?(或者我可能误解了源控制的基本原理?)
我问了这个问题并得到了一个很好的答案(谢谢!).要解决的部分问题包括采用单词并对其进行逐行扫描,以便获得两个单词,一个包含原始单词的偶数索引字符,另一个包含奇数索引字符.
响应者使用以下代码执行此操作:
for w in words:
even, odd = w[::2], w[1::2]
Run Code Online (Sandbox Code Playgroud)
我做了这个(更糟)的方式:
for w in words:
lst1 = []
lst2 = []
for c in w:
if w.index(c) % 2 == 0:
lst1.append(c)
else:
lst2.append(c)
even = ''.join(lst1)
odd = ''.join(lst2)
Run Code Online (Sandbox Code Playgroud)
好吧,出于多种原因,我的方式更糟糕.但在我看来似乎两种方式至少应该产生相同的单词对.然而,我使用他的实现得到的结果不同于我的结果.这是为什么?