Usando flex crear un programa para procesar un documento LaTeX, más
concretamente gráficos realizados con un subconjunto de la biblioteca Pgfplot,
realizando las operaciones necesarias para que al finalizar el procesado
permita mostrar las siguientes estadísticas:
- el título del gráfico, si es que lo tiene.
- las coordenadas mínimas y máximas del eje x.
- el número de gráficas/series dibujadas por cada tipo (2D o 3D).
- la fórmula de gráfico más larga, si el gráfico no está especificado
por fórmula, se tomará como referencia de longitud la especificación
explícita de coordenadas.
Se puede asumir como simplificación que en el documento LaTeX solo
hay un único elemento tikzpicture.
Los comentarios y demás secciones LaTeX deben ser ignoradas, salvo
los entornos verbatim, cuyo contenido tiene que ser ignorado. Para simplificar
la práctica se considera que el inicio del entorno «\begin{verbatim}» y el
fin del mismo «\end{verbatim}» siempre están al principio de línea.
Ojo también con los comentarios y con el escapado de carácteres.
REFS:
- [login to view URL]
- [login to view URL]
══════════════════════════════════════════════════════════════════════════════
Ante una entrada como la siguiente:
------------------------------------------------------------------------------
\documentclass{article}
\usepackage[margin=0.25in]{geometry}
\usepackage{pgfplots}
\pgfplotsset{width=10cm,compat=1.9}
\begin{document}
\begin{tikzpicture}
\begin{axis}%
[
axis lines = left,
xlabel = \(x\),
ylabel = {\(f(x)\)},
]
%Below the red parabola is defined
\addplot [
domain=-5:5,
samples=100,
color=red,
]
{x^2 - 2*x - 1};
\addlegendentry{\(x^2 - 2x - 1\)}
%Here the blue parabola is defined
\addplot [
domain=-10:10,
samples=100,
color=blue,
]
{x^2 + 2*x + 10};
\addlegendentry{\(x^2 + 2x + constante\)}
\end{axis}
\end{tikzpicture}
\end{document}
------------------------------------------------------------------------------
Debería dar:
···············································································
El título es "".
Coordenada mínima: -10 y máxima: 10.
El gráfico contiene 2 gráficas/series
La fórmula más larga es:
x^2 + 2*x + 10
···············································································
Ante una entrada como la siguiente:
------------------------------------------------------------------------------
\documentclass{article}
\usepackage[margin=0.25in]{geometry}
\usepackage{pgfplots}
\pgfplotsset{width=10cm,compat=1.9}
\begin{document}
For the following tikz code:
\begin{verbatim}
\begin{tikzpicture}
\begin{axis}[
title={Temperature dependence of \{CuSO\(_4\cdot\)5H\(_2\)O\} solubility},
xlabel={Temperature \{\textcelsius\}},
ylabel={Solubility \{g per 100 g water\}},
xmin=0, xmax=100,
ymin=0, ymax=120,
xtick={0,20,40,60,80,100},
ytick={0,20,40,60,80,100,120},
legend pos=north west,
ymajorgrids=true,
grid style=dashed,
]
\addplot[
color=blue,
mark=square,
]
coordinates {
(0,23.1)(10,27.5)(20,32)(30,37.8)(40,44.6)(60,61.8)(80,83.8)(100,114)
};
\legend{CuSO\(_4\cdot\)5H\(_2\)O}
\end{axis}
\end{tikzpicture}
\end{verbatim}
The result is this picture:
\begin{tikzpicture}
\begin{axis}[
title={Temperature dependence of \{CuSO\(_4\cdot\)5H\(_2\)O\} solubility},
xlabel={Temperature \{\textcelsius\}},
ylabel={Solubility \{g per 100 g water\}},
xmin=0, xmax=100,
ymin=0, ymax=120,
xtick={0,20,40,60,80,100},
ytick={0,20,40,60,80,100,120},
legend pos=north west,
ymajorgrids=true,
grid style=dashed,
]
\addplot[
color=blue,
mark=square,
]
coordinates {
(0,23.1)(10,27.5)(20,32)(30,37.8)(40,44.6)(60,61.8)(80,83.8)(100,114)
};
\legend{CuSO\(_4\cdot\)5H\(_2\)O}
\end{axis}
\end{tikzpicture}
\end{document}
------------------------------------------------------------------------------
Debería dar:
···············································································
El título es "Temperature dependence of \{CuSO\(_4\cdot\)5H\(_2\)O\} solubility".
Coordenada mínima: 0 y máxima: 100.
El gráfico contiene 1 gráfica/serie
La fórmula más larga es:
(0,23.1)(10,27.5)(20,32)(30,37.8)(40,44.6)(60,61.8)(80,83.8)(100,114)
···············································································
Ante una entrada como la siguiente:
------------------------------------------------------------------------------
\documentclass{article}
\usepackage[margin=0.25in]{geometry}
\usepackage{pgfplots}
\pgfplotsset{width=10cm,compat=1.9}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
% title={This was the previous title, now it is commented}
xlabel={Temperature \{\textcelsius\}},
ylabel={Solubility \{g per 100 g water\}},
% xmin=10, xmax=120 % <== old values have been commented
xmin=
0,
xmax=
100,
ymin=0, ymax=120,
xtick={0,20,40,60,80,100},
ytick={0,20,40,60,80,100,120},
legend pos=north west,
ymajorgrids=true,
grid style=dashed,
title = {Temperature dependence of \{CuSO\(_4\cdot\)5H\(_2\)O\} solubility}
]
\addplot[
color=blue,
mark=square,
]
coordinates {
(0,23.1)
(10,27.5)(20,32)(30,37.8)
(40,44.6)(60,61.8)(80,83.8)(100,114)
};
\legend{CuSO\(_4\cdot\)5H\(_2\)O}
\end{axis}
\end{tikzpicture}
\end{document}
------------------------------------------------------------------------------
Debería dar:
···············································································
El título es "Temperature dependence of \{CuSO\(_4\cdot\)5H\(_2\)O\} solubility".
Coordenada mínima: 0 y máxima: 100.
El gráfico contiene 1 gráfica/serie
La fórmula más larga es:
(0,23.1)
(10,27.5)(20,32)(30,37.8)
(40,44.6)(60,61.8)(80,83.8)(100,114)
···············································································