
Следующий документ
\documentclass[11pt,a4paper]{report}
\usepackage{tikz}
\usetikzlibrary{shapes}
\usetikzlibrary{arrows}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}[remember picture]
\node [draw] (a) {%
\begin{tabular}{l}
line 1 \\
line 2
\begin{tikzpicture}[remember picture]
\coordinate (line2);
\end{tikzpicture}
\\
line 3 \\
line 4 \\
\end{tabular}
};
\node [draw, right=5cm of line2] (a) {a};
\draw (line2) -- (a);
\end{tikzpicture}
\end{document}
дает другой результат, когда я компилирую его в PDF с помощью pdflatex
по сравнению с использованием dvips
и затем ps2pdf
.
Например, вот (ожидаемая) цифра, полученная pdflatex
:
А вот (неправильная) цифра, полученная с помощью dvips
и ps2pdf
:
Почему это происходит и как это исправить, чтобы результат всегда был похож на тот, который выдает pdflatex
?
решение1
Это ошибка TikZ/pgf с remember picture
помощью latex-dvips-ps2pdf
...
В этом конкретном случае matrix
библиотека предлагает элегантный обходной путь (работающий через pdflatex
и через latex-dvips-ps2pdf
):
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{positioning}
\usetikzlibrary{matrix}
\begin{document}
\begin{tikzpicture}[remember picture]
\matrix [draw,matrix of nodes] (m){
line 1 \\ % node m-1-1
line 2 \\ % node m-2-1
line 3 \\
line 4 \\
};
\node [draw, right=5cm of m-2-1] (a) {a};
\draw (m-2-1) -- (a);
\end{tikzpicture}
\end{document}