小编Ale*_*son的帖子

需要LaTeX的简单正则表达式

在我的LaTeX文件中,实际上有数千个以下结构出现:

$\displaystyle{...math goes here...}$
Run Code Online (Sandbox Code Playgroud)

我想用替换

\mymath{...math goes here...}
Run Code Online (Sandbox Code Playgroud)

请注意,$消失了,但是花括号仍然保留---如果不是尾随的$,这将是基本的查找和替换。如果我只知道任何正则表达式,我相信它会毫无问题地解决这个问题。我需要做些什么正则表达式?

提前谢谢了。

编辑:出现了一些问题,所以让我澄清一下:

  1. 是的,$\displaystyle{ ... }$可以在同一行上多次出现。
  2. 否,不能出现嵌套}$的(如$\displaystyle{...{more math}$...}$)。我的意思是,我想如果您将它放在\mbox或之类的东西中也是可以的,但是我无法想象为什么有人会在$\displaystlye{}$构造体中这样做,其目的是在文本内联显示数学。无论如何,这不是我曾经做过或可能要做的事情。
  3. 我尝试使用perl建议,但是尽管shell没有提出异议,但文件仍然不受影响。
  4. 我尝试使用sed建议,但是shell反对“('”附近的“意外令牌”。我以前从未使用过sed(并且“ man sed”很钝),但这是我做的:导航到包含以下内容的目录.tex文件,然后键入“ sed s/\$\\displaystyle({[^}]+})\$/\\mymath\1/g *.tex”。不走运。如何使用sed执行我想要的操作?

再次感谢所有提供的帮助。

regex latex

3
推荐指数
1
解决办法
1915
查看次数

以编程方式创建的UICollectionView不会滚动

我正在使用一个水平选择器UICollectionView.它很简单:A UIViewUICollectionView编程方式创建,使用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)

我尝试以编程方式设置UserInteractionEnabledYES,但这没有任何区别(也不应该有,因为默认UserInteractionEnabled设置为YES).FWIW,集合视图使用标准UICollectionViewCells,s作为子视图UILabel添加到contentViews中. …

ios uicollectionview

3
推荐指数
1
解决办法
1万
查看次数

如何将以编程方式生成的新文件添加到源代码管理中?

这是我从未真正理解的源代码控制,特别是Subversion(我曾经使用的唯一源代码控制,这并没有多说).我正在考虑转移到git或Mercurial,所以如果这会影响我的问题的答案,请指出.

好.据我了解,每次创建新文件时,我都要告诉SVN,以便知道将其添加到存储库并将其置于控制之下.就像是:

svn add newfile
Run Code Online (Sandbox Code Playgroud)

如果我是创建文件的人那就没关系:我知道我创建了它,我知道它的名字,我知道它在哪里,所以很容易告诉SVN它.

但现在假设我正在使用某种框架,如Rails,Django,Symfony等,并假设我已经完成了初始提交.所有这些框架都以编程方式创建新文件,通常多次在不同的目录中创建等等.等.如何告诉源代码控制这些新文件?我是否必须单独追捕每一个并添加它们?有没有更简单的方法?(或者我可能误解了源控制的基本原理?)

version-control frameworks

2
推荐指数
1
解决办法
125
查看次数

为什么这两个实现产生不同的结果?

我问了这个问题并得到了一个很好的答案(谢谢!).要解决的部分问题包括采用单词并对其进行逐行扫描,以便获得两个单词,一个包含原始单词的偶数索引字符,另一个包含奇数索引字符.

响应者使用以下代码执行此操作:

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)

好吧,出于多种原因,我的方式更糟糕.但在我看来似乎两种方式至少应该产生相同的单词对.然而,我使用他的实现得到的结果不同于我的结果.这是为什么?

python

2
推荐指数
1
解决办法
82
查看次数