Então de acordo com
Por que \[... \] é preferível a $$... $$?e
\( e \) são preferíveis aos cifrões no modo matemático?
Eu deveria usar \(...\)
em vez de $...$
e \[...\]
em vez de
$$...$$
.
Mas e se eu tiver um documento onde já usei um pouco de cifrões? Como faço para convertê-los? Uma simples localização e substituição não funcionará porque:
- Não importa se $$ é um começo ou um fim; e
- Eu uso o cifrão no texto (para me referir à moeda).
Alguém tem uma dica legal para isso?
Responder1
Isso vai depender muito de qual editor você usa e dos recursos que ele oferece, então duvido que haja uma única resposta; no entanto, se o seu editor tiver um bom suporte a regex, isso deve ser bem fácil.
Veja como você pode combinar$...$
/\s\$(.|\n)+?\$/g
e da mesma forma, correspondência para $$...$$
:
/\s\$\$(.|\n)+?\$\$/g
Isso não corresponderá aos cifrões, pois eles precisam ser escapados \$
e o padrão acima requer qualquer um dos caracteres de espaço em branco antes do cifrão (espaço, tabulação ou nova linha). Você pode ver uma bela visualização para issoaquieaquirespectivamente.
Se o seu editor suportar o s
sinalizador do Perl, você poderá simplificar (.|\n)+?
para .+?
corresponder .
às novas linhas também.
Finalmente, juntando tudo com uma substituição, você obtém:
s/(\s)\$(.+?)\$/\1\(\2\)/sg
Observe que não estou escapando de certos caracteres porque isso dependerá da implementação específica do regex. Em particular, os parênteses de grupo podem exigir \(...\)
e o +
, ?
e as barras invertidas na substituição também podem precisar ser escapadas, dependendo de qual implementação de regex você está usando.
Se você estiver na linha de comando e tiver Perl, os dois comandos a seguir devem resolver o problema:
perl -077pi.bak -e 's/(\s)\$\$(.+?)\$\$/\1\\[\2\\]/sg' document.tex
perl -077pi.bak -e 's/(\s)\$(.+?)\$/\1\\(\2\\)/sg' document.tex
Observe que isso iránãocorresponda a qualquer coisa no início do arquivo; no entanto, não acho que isso seja um grande problema, pois o início do arquivo normalmente será um comentário ou pelo menos \documentclass
.
Responder2
Single $
são sintaxe adequada e suportada para matemática embutida e até mesmo $$
são adequados para matemática de exibição. Eles são de estilo ruim, mas na maioria das vezes (se você não estiver usando fleqn
) eles fornecerão a mesma saída, então \[..\]
você pode simplesmente mudar $$
para \[
como parte da edição geral enquanto edita as fórmulas, se você não estiver confiante com as substituições de expressões regulares lá não há necessidade urgente de fazer uma edição global do documento, o que pode causar mais mal do que bem se você errar na expressão regular. Então tente usar \[
daqui para frente, mas não perca o sono $$
já no seu documento :-)