我有这个来自 matlab 的 tex 文件。
\begin{tikzpicture}
\begin{axis}[%
width=\figurewidth,
height=\figureheight,
scale only axis,
xmin=1,
xmax=5,
ymin=2,
ymax=10
]
\addplot [color=red,line width=4.0pt,only marks,mark=*,mark options={solid},forget plot]
table[row sep=crcr]{
1 2 \\
2 4 \\
3 6 \\
4 8 \\
5 10 \\
};
\end{axis}
\end{tikzpicture}%
我想添加xlabel
并ylabel
在其中
xmin=1,
xmax=5,
ymin=2,
ymax=10,
xlabel=X,
ylabel=Y,
如果我运行另一个如上所述的 Latex 文件这里。
\documentclass{minimal}
\newwrite\tempfile
\begin{document}
\immediate\openout\tempfile=lists.tex
\immediate\write\tempfile{xlabel=X,}
\immediate\write\tempfile{ylabel=Y,}
\immediate\closeout\tempfile
\input{lists}
\end{document}
我可以将这些写入特定的行吗?
答案1
键xlabel
和ylabel
也可以设置外部来自tikzpicture
matlab 通过\pgfplotsset
,例如:
\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\newdimen\figurewidth
\newdimen\figureheight
\begin{document}
\begingroup
\pgfplotsset{xlabel=$X$, ylabel=$Y$}
\setlength{\figurewidth}{5cm}
\setlength{\figureheight}{5cm}
% Matlab export
\begin{tikzpicture}
\begin{axis}[%
width=\figurewidth,
height=\figureheight,
scale only axis,
xmin=1,
xmax=5,
ymin=2,
ymax=10
]
\addplot [color=red,line width=4.0pt,only marks,mark=*,mark
options={solid},forget plot]
table[row sep=crcr]{
1 2 \\
2 4 \\
3 6 \\
4 8 \\
5 10 \\
};
\end{axis}
\end{tikzpicture}%
\endgroup
\end{document}
答案2
仅使用 emacs replace-regexp 函数的解决方案:
M-x replace-regexp RET \(ymax=[0-9]+\) RET \1, C-q C-j xlabel=X, C-q C-j ylabel=Y