현재 내 tikzmark 주석은 fancyhdr 패키지에서 정의한 바닥글과 겹칩니다.
현재 다음과 같이 정의된 주석이 포함된 방정식이 있습니다.
\begin{equation}
\tikzmarknode{A}{2}
\end{equation}
\begin{tikzpicture}[overlay,remember picture, shorten <= 1mm, font=\footnotesize]
\draw[red,<-] (A.south) -- ++ (-0.3,-1) node[below] {2 spin states};
\end{tikzpicture}
LaTeX가 전체 상자를 다음 페이지에 배치할 수 있도록 방정식과 tikzmark 주석을 동일한 상자에 넣어야 한다고 가정합니다. 이를 수행하는 올바른 방법은 무엇입니까?
편집: 내 방정식은 다음과 비슷합니다.
\begin{equation}
\tikzmarknode{A}{2}\left[\frac{\tikzmarknode{B}{(2k_{F})}}{\tikzmarknode{C}{\left(\frac{2\pi}{Na}\right)}}\right]=\tikzmarknode{D}{n}\tikzmarknode{E}{(Na)}
\end{equation}
\begin{tikzpicture}[overlay,remember picture,shorten <=1mm,font=\footnotesize]
\draw[red,<-] (A.south) -- ++ (-0.3,-0.3) node[left,xshift=0.1cm,yshift=-0.1cm] {2 spin states};
\draw[red,<-] (B.east) -- ++ (1,0.6) node[right] {volume of Fermi sea};
\draw[red,<-] (C.south) -- ++ (0.2,-0.4) node[below right,xshift=-0.1cm,yshift=0.2cm] {volume corresponding to a single $k$ since $k$ is quantized as $k=\frac{2\pi m}{Na}$, $m\in\mathbb{Z}$};
\draw[red,<-] (D.south) -- ++ (0.3,-0.3) node[right,xshift=-0.1cm,yshift=-0.1cm] {number density};
\draw[red,<-] (E.east) -- ++(0.8,0.2) node[right] {length of chain};
\end{tikzpicture}
답변1
주석의 크기를 측정하고 방정식에 해당 공간을 추가할 수 있습니다. 그것은 여전히 원하는 것보다 덜 자동적입니다.
\documentclass[fleqn]{article}
\usepackage{amssymb}
\usepackage{lipsum}
\usepackage{tikz}
\usetikzlibrary{tikzmark,calc}
\begin{document}
\lipsum[1]
\begin{equation}
\tikzmarknode{A}{2}\left[\frac{\tikzmarknode{B}{(2k_\mathrm{F})}}{\tikzmarknode{C}{\left(\frac{2\pi}{Na}\right)}}\right]=\tikzmarknode{D}{n}\tikzmarknode{E}{(Na)}
\begin{tikzpicture}[overlay,remember picture,shorten <=1mm,font=\footnotesize]
\begin{scope}[local bounding box=annotations]
\draw[red,<-] (A.south) -- ++ (-0.3,-0.3) node[left,xshift=0.1cm,yshift=-0.1cm] {2 spin states};
\draw[red,<-] (B.east) -- ++ (1,0.6) node[right] {volume of Fermi sea};
\draw[red,<-] (C.south) -- ++ (0.2,-0.4) node[below right,xshift=-0.1cm,yshift=0.2cm] {volume corresponding to a single $k$ since $k$ is quantized as $k=\frac{2\pi m}{Na}$, $m\in\mathbb{Z}$};
\draw[red,<-] (D.south) -- ++ (0.3,-0.3) node[right,xshift=-0.1cm,yshift=-0.1cm] {number density};
\draw[red,<-] (E.east) -- ++(0.8,0.2) node[right] {length of chain};
\end{scope}
\path let \p1=($(annotations.north)-(annotations.south)$),
\p2=($(annotations.center)-(A.center)$),\n1={\y1-\baselineskip} in
\pgfextra{\xdef\myht{\n1}\xdef\mylift{\y2}};
\end{tikzpicture}
\raisebox{\mylift}{$\begin{array}{@{}c@{}}\vspace{\myht}\end{array}$}
\typeout{\myht}
\end{equation}
\lipsum[2]
\end{document}
답변2
tikzmark
그 자체로 의미와 동기가 페이지의 내용과 겹칠 수 있습니다. 예를 들어 , 겹치는 것을 방지하려면 수동으로 a \vspace{8mm}
(그리고 뒤에 빈 줄)를 추가할 수 있습니다.
\documentclass{article}
\usepackage{tikz,lipsum}
\usetikzlibrary{tikzmark}
\begin{document}
\lipsum[1]
\begin{equation}
\tikzmarknode{A}{2}=1+1
\end{equation}
\begin{tikzpicture}[overlay,remember picture, shorten <= 1mm, font=\footnotesize]
\draw[red,<-] (A.south) -- ++ (-0.3,-1) node[below] {2 spin states};
\end{tikzpicture}
\vspace*{8mm}
\lipsum[1]
\end{document}