Using latex Syntax Highlighting
- \documentclass{article}
- % Las líneas que están en
- % éste sector no deben modificarse
- \begin{document}
- Texto texto texto
- \begin{pgfpicture}
- \pgfpathmoveto{\pgfpoint{0cm}{0cm}} %
- \newbox\mybox
- \setbox\mybox=\hbox{
- \begin{pgfinterruptpicture}
- anidado\begin{pgfpicture} % subpicture
- \pgfpathmoveto{\pgfpoint{1cm}{0cm}}
- \pgfpathlineto{\pgfpoint{1cm}{1cm}}
- \pgfusepath{stroke}
- \end{pgfpicture} termina el anidado
- \end{pgfinterruptpicture}
- }
- \pgfqbox{\mybox}%
- \pgfpathlineto{\pgfpoint{0cm}{1cm}}
- \pgfusepath{stroke}
- \end{pgfpicture}
- texto texto
- \begin{pgfpicture}
- \begin{pgfscope}
- {
- \pgfsetarrows{-to}
- \pgfpathmoveto{\pgfpointorigin}\pgfpathlineto{\pgfpoint{2ex}{2ex}}
- \pgfusepath{stroke}
- }
- \pgfpathmoveto{\pgfpoint{3ex}{0ex}}\pgfpathlineto{\pgfpoint{5ex}{2ex}}
- \pgfusepath{stroke}
- \end{pgfscope}
- \pgfpathmoveto{\pgfpoint{6ex}{0ex}}\pgfpathlineto{\pgfpoint{8ex}{2ex}}
- \pgfusepath{stroke}
- \end{pgfpicture}
- \end{document}
- % Lo que está acá al final tampoco debe modificarse
- %\endpspicture o \end{pspicture} \end{document} no debería cambiar
Coloreado en 0.004 segundos, usando GeSHi 1.0.8.4
Using latex Syntax Highlighting
- \documentclass{article}
- % Las líneas que están en
- % éste sector no deben modificarse
- \begin{document}
- Texto texto texto
- \begin{postscript}
- \begin{pgfpicture}
- \pgfpathmoveto{\pgfpoint{0cm}{0cm}} %
- \newbox\mybox
- \setbox\mybox=\hbox{
- \begin{pgfinterruptpicture}
- anidado\begin{pgfpicture} % subpicture
- \pgfpathmoveto{\pgfpoint{1cm}{0cm}}
- \pgfpathlineto{\pgfpoint{1cm}{1cm}}
- \pgfusepath{stroke}
- \end{pgfpicture} termina el anidado
- \end{pgfinterruptpicture}
- }
- \pgfqbox{\mybox}%
- \pgfpathlineto{\pgfpoint{0cm}{1cm}}
- \pgfusepath{stroke}
- \end{pgfpicture}
- \end{postscript}
- texto texto
- \begin{postscript}
- \begin{pgfpicture}
- \begin{pgfscope}
- {
- \pgfsetarrows{-to}
- \pgfpathmoveto{\pgfpointorigin}\pgfpathlineto{\pgfpoint{2ex}{2ex}}
- \pgfusepath{stroke}
- }
- \pgfpathmoveto{\pgfpoint{3ex}{0ex}}\pgfpathlineto{\pgfpoint{5ex}{2ex}}
- \pgfusepath{stroke}
- \end{pgfscope}
- \pgfpathmoveto{\pgfpoint{6ex}{0ex}}\pgfpathlineto{\pgfpoint{8ex}{2ex}}
- \pgfusepath{stroke}
- \end{pgfpicture}
- \begin{postscript}
- \end{document}
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
Utilizo el siguiente script:
Using perl Syntax Highlighting
- #!/usr/bin/perl
- use v5.18;
- use strict; # Somos estrictos
- use autodie; # muere si ocurre un error
- use File::Basename; # separa el archivo de entrada
- use File::Path; # Para crear y remover directorios
- #--------------------- Arreglo de la extensión -------------------------
- my @SuffixList = ('.tex', '', '.ltx'); # posible extensión
- my ($name, $path, $ext) = fileparse($ARGV[0], @SuffixList);
- $ext = '.tex' if not $ext;
- #------------------- Abrimos el archivo -------------------------------
- open my $ENTRADA, '<', "$name$ext";
- my $archivo;
- {
- local $/;
- $archivo = <$ENTRADA>;
- }
- close $ENTRADA;
- #--------------------- Dividimos el archivo de entrada -----------------
- # ?= no guarda en $ , capturamos solo lo que nos interesa
- my($cabeza,$cuerpo) = $archivo =~ m/(.+(?=^\\begin{document})) (.+(?=^\\end{document}.*))/msx;
- #----------------- Buscamos entornos anidados en pgfpicture
- my $pgf = '{pgfpicture}'; #
- my $nopgf = '{pgfinterruptpicture}'; #
- $cuerpo =~ s/(\\begin$pgf([^\\begin$nopgf .+ \\end$nopgf])?.+\\end$pgf)/\\begin{postscript}\n$1\n\\end{postscript}/gms;
- open my $SALIDA, '>', "$name-out$ext";
- print $SALIDA "$cabeza$cuerpo\\end\{document\}";
- close $SALIDA;
- __END__
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4
Es decir, deseo dejar todo lo que esté entre
dentro de
El problema es que pgfpicture puede, o no, aparecer "anidado" entre de las palabras
incluso más de una vez, un caso extremo:
- \begin{pgfpicture}
- Algo
- \begin{pgfinterruptpicture}
- algo quizas
- \begin{pgfpicture}
- algo quizas
- \end{pgfpicture}
- algo quizas
- \end{pgfinterruptpicture}
- algo quizas
- \begin{pgfinterruptpicture}
- algo quizas
- \begin{pgfpicture}
- algo quizas
- \end{pgfpicture}
- algo quizas
- \end{pgfinterruptpicture}
- algo quizas
- \end{pgfpicture}
Miré varios ejemplos de cómo extraer texto entrecomillado y mi problema es parecido, pero, no doy con la expresión regular correcta para hacer los cambios.
Saludos
Pablo.