특정 서식으로 정렬 환경 다시 실행

특정 서식으로 정렬 환경 다시 실행

\begin{align} 환경을 일부 스타일 지정으로 \end{align} 다시 만들고 싶은데 어떻게 해야 할지 모르겠습니다. 글쎄요, 정확하게 말하면 저는 이 환경에서 두 가지 구체적인 일이 일어나기를 원합니다.

  1. 각 줄 바꿈에 명령이 바뀐 곳에 수직선을 추가하고 싶습니다. 즉: 여기에 이미지 설명을 입력하세요

  2. 동등성 이외의 연산인 경우 줄 바꿈이 있을 때 다음과 같이 보이도록 하고 싶습니다. 여기에 이미지 설명을 입력하세요

이 작업을 수행하는 코드 개발을 어떻게 시작해야 할지 모르겠습니다. 어쩌면 tikz를 사용하는 것이 더 간단한 대안이 될 수도 있지만 이를 구현하는 방법을 모르겠습니다.

제가 게시한 두 이미지 모두 손으로 선을 그렸습니다.

답변1

여기에 빠른 tikzmark버전이 있습니다(그러나 제공해야 하는 고급 기술이 필요하지 않기 때문에 라이브러리가 없습니다).

을 변경하여 와 실제 줄 outer ysep사이의 공백을 조정합니다 . =( inner ysep경계 상자에 영향을 미치며 선이 너무 크면 수직 배치가 변경될 수 있습니다.)

암호

\documentclass[varwidth]{standalone}
%\documentclass{article}
\usepackage{amsmath, tikz}
\newcommand*\eqlineset{\pgfqkeys{/eqlines}}
\eqlineset{
  picture/.style={baseline, remember picture},
  line/.style={thick, draw=orange, line cap=round},
  node/.style={
    minimum size=+0pt, inner sep=+0pt, outer ysep=+.3333em, anchor=base,
    name=tma\thetikzmarkalign},
}
\newcounter{tikzmarkalign}
\makeatletter
\AtBeginEnvironment{align}{%
  \setcounter{tikzmarkalign}{0}%
  \newcommand*\noeq{\hphantom{{}={}}}%
  \newcommand*\eq{
    \ifnum\value{tikzmarkalign}=0
      \mathrel{\tikz[/eqlines/picture]\node[/eqlines/node]{$=$};}
    \else
      \mathrel{
        \begin{tikzpicture}[/eqlines/picture]
          \node[/eqlines/node] (tma\thetikzmarkalign) {$=$};
          \unless\ifmeasuring@
            \path[/eqlines/line, overlay] (tma\thetikzmarkalign)
                        -- (tma\pgfinteval{\thetikzmarkalign-1});
          \fi
        \end{tikzpicture}
      }
    \fi
    \stepcounter{tikzmarkalign}
  }%
}
\makeatother
\begin{document}
\begin{align}
 Lorem & \eq Ipsum \\
       & \eq dolor sit amet,\\
       & \noeq + \frac{consetetur sadipscing elitr}{sed diam nonumy} \\
       & \eq eirmod tempor invidunt.
\end{align}
\end{document}

산출

여기에 이미지 설명을 입력하세요

답변2

주석에 언급된 대로 등호를 배치한 다음(적절한 간격을 위해 \tikzmarknodes추가 ) 이 노드 사이에 선을 그리는 데 사용할 수 있습니다(여러 줄에 걸쳐 있을 수 있음).{}tikz

\documentclass{article}
\usepackage{amsmath}
\usepackage{tikz}
\usetikzlibrary{tikzmark}

\begin{document}

\begin{align}
    x & \tikzmarknode{eq1}{{}={}} a^2 + 2ab + b^2 \\
      & \tikzmarknode{eq2}{{}={}} (a + b)^2
\end{align}

\begin{tikzpicture}[remember picture, overlay]
    \draw[very thick, orange, shorten >=2pt, shorten <=2pt] (eq1) -- (eq2);
\end{tikzpicture}

\end{document}

여기에 이미지 설명을 입력하세요

관련 정보