Many held aloft banners criticising Angela Merkel, the German chancellor, who is in the firing line for her liberal stance towards refugees after Germany took in more than a million migrants last year. About 2,000 people - fewer than the 10,000 expected by police - meanwhile joined an anti-Pegida rally at which participants urged tolerance towards migrants.