
나는 여러 대의 컴퓨터에서 문서를 작성합니다. 그 중 하나에는 일종의 TexLive 설치와 함께 Ubuntu 14.04가 설치되어 있습니다. 다른 것에는 Ubuntu 14.10과 Arch Linux가 있습니다.
내 문서에서는화살표.메타도서관. 이제 내 컴퓨터 중 하나(14.04 컴퓨터)에서 컴파일되지 않는 문서가 발생했습니다.
문제가 있는 모든 정의를 무시하도록 라텍스를 만들 수 있는 방법이 있습니까? 내가 갖고 싶은 것은 실제 이미지의 소스 파일을 변경하지 않고 TikZ의 새로운 기능을 활성화 및 비활성화할 수 있는 것(주석을 추가하고 제거할 수 있는 몇 줄의 코드)입니까? 현재 arrows.meta 팁을 사용하는 9개의 이미지가 있으며 이 숫자는 늘어날 수 있습니다. 따라서 이미지 소스를 변경하는 것은 좋은 방법이 아닙니다.
\documentclass[tikz]{standalone}
\usepackage[T1]{fontenc} % font encoding
\usepackage[utf8]{inputenc} % input encoding
\usepackage{lmodern} % fonts
\usepackage{tikz,pgfplots} % provides TikZ
\usetikzlibrary{arrows}
%\usetikzlibrary{arrows.meta}
%\newcommand{\Stealth}{\stealth} % does not work
\begin{document}
\begin{tikzpicture}
\draw[-Stealth] (0,0) to (1,1);
\end{tikzpicture}
\end{document}
답변1
실제로 가장 좋은 해결책은 TeX 배포판을 업데이트하는 것입니다. 앞으로는 골치 아픈 일이 줄어들 것이며 새 arrows.meta
라이브러리는 많은 멋진 기능을 제공합니다.
그러나 업그레이드가 옵션이 아닌 경우: 아래 조건부 코드는 로드된 버전이 pgf
3.0.0 이상(2013/12/18 이후 날짜)인지 확인합니다. 그렇다면 로드 arrows.meta
하고 -Stealth
평소대로 사용할 수 있습니다. 그렇지 않은 경우 library 에서 제공하는 Stealth
이전 팁에 호출되는 화살표 팁의 별칭을 지정합니다 .stealth
arrows
이것의 최종 결과는 Stealth
TikZ/PGF 3.0.0을 사용할 수 있는 경우 사용되지만 stealth
사용할 수 없는 경우에는 그리기 코드를 수정하지 않고 대체하는 것입니다.
제한사항:에서 소개된 화살표 스타일 수정자 또는 기타 옵션(예: -{Stealth[width=6pt]}
)은 arrows.meta
이 코드에서 성공적으로 처리되지 않습니다.
\documentclass[tikz]{standalone}
\usepackage[T1]{fontenc} % font encoding
\usepackage[utf8]{inputenc} % input encoding
\usepackage{lmodern} % fonts
\usepackage{tikz} % provides TikZ
\usetikzlibrary{arrows}
\makeatletter
\@ifpackagelater{pgf}{2013/12/18}{
\usetikzlibrary{arrows.meta}
}{
\pgfarrowsdeclarealias{Stealth}{Stealth}{stealth}{stealth}
}
\makeatother
\begin{document}
\begin{tikzpicture}
\draw[-Stealth] (0,0) to (1,1);
\end{tikzpicture}
\end{document}