Skip to content

Instantly share code, notes, and snippets.

@larrycai
Created February 1, 2012 14:25
Show Gist options
  • Save larrycai/1717298 to your computer and use it in GitHub Desktop.
Save larrycai/1717298 to your computer and use it in GitHub Desktop.
regex in ruby to convert from sample1.tex to sample2.tex ?
\begin{enumerate}\setlength{\itemsep}{1pt}\setlength{\parskip}{0pt}\setlength{\parsep}{0pt}
\item
item1
\item
item2
\end{enumerate}
\begin{enumerate}\setlength{\itemsep}{1pt}\setlength{\parskip}{0pt}\setlength{\parsep}{0pt}
\item
item1
\item
item2
\end{enumerate}
\begin{itemize}\setlength{\itemsep}{1pt}\setlength{\parskip}{0pt}\setlength{\parsep}{0pt}
\item
itemabc
\item
itemabc
\end{itemize}
\begin{enumerate}\setlength{\itemsep}{1pt}\setlength{\parskip}{0pt}\setlength{\parsep}{0pt}
\item
item1
\item
item2
\end{enumerate}
\begin{enumerate}\setlength{\itemsep}{1pt}\setlength{\parskip}{0pt}\setlength{\parsep}{0pt}
\item
item1
\item
item2
\end{enumerate}
\begin{itemize}\setlength{\itemsep}{1pt}\setlength{\parskip}{0pt}\setlength{\parsep}{0pt}
\item[*]
itemabc
\item[*]
itemabc
\end{itemize}
@juven
Copy link

juven commented Feb 1, 2012

BEGIN {
RS = ""
FS = "\n"
}

$1 ~ /^\begin{itemize}/{
for (i=1; i<NF; i++)
{
if ($i == "\item")
print "\item[*]"
else
print $i
}
print ""
}

$1 !~ /^\begin{itemize}/{
print
print ""
}

@juven
Copy link

juven commented Feb 1, 2012

$ awk -f tex.awk sample1.tex

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment