adjustwidth 및 eqnarray에서 개행을 방지하려면 어떻게 해야 합니까?

adjustwidth 및 eqnarray에서 개행을 방지하려면 어떻게 해야 합니까?

adjustwidth와 함께 사용되는 경우에만 중복된 개행 문자를 삽입합니다 eqnarray. 어떻게 피할 수 있나요?

입력:

\documentclass{article}
\usepackage{changepage}

\begin{document}

\noindent
Hello World!
\begin{adjustwidth}{-1cm}{-1cm}
Hello World!
\end{adjustwidth}

\ \\
Hello World!
\begin{eqnarray}
f(x) = 1
\end{eqnarray}

\ \\
Hello World!
\begin{adjustwidth}{-1cm}{-1cm}
\begin{eqnarray}
f(x) = 1
\end{eqnarray}
\end{adjustwidth}

\end{document}

산출:

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

캡션이 포함된 출력:

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

자로 측정한 경우 를 사용하면 공간의 높이가 두 배로 늘어납니다 adjustwidth.


MWE 입력:

\documentclass{article}
\usepackage[top=30truemm,bottom=30truemm,left=25truemm,right=25truemm]{geometry}

\usepackage{changepage}
\usepackage{braket}
\usepackage{bm}

\newcommand{\bmk}{{\bm{k}}}
\newcommand{\brac}[1]{\left( #1 \right)}
\newcommand{\expo}[1]{e^{#1}}
\newcommand{\ao}[1]{a_{#1}}
\newcommand{\aod}[1]{a^\dagger _{#1}}

\begin{document}

Operator $A$ is defined as
\begin{eqnarray}
A &=& \sum _{\bmk _1, \bmk _2} \Braket{\bmk _1, \uparrow | \hat{A} | \bmk _2, \uparrow} \left\{ \brac{\cos \theta _{\bmk _1} \cos \theta _{\bmk _2} - \eta \sin \theta _{\bmk _1} \sin \theta _{\bmk _2}} \brac{\aod{\bmk _1, \uparrow} \ao{\bmk _2, \uparrow} + \eta \aod{- \bmk _2, \downarrow} \ao{- \bmk _1, \downarrow}} \right. \nonumber \\
&\ & \hspace{3cm} \left. + \brac{\cos \theta _{\bmk _1} \sin \theta _{\bmk _2} + \eta \sin \theta _{\bmk _1} \cos \theta _{\bmk _2}} \brac{\aod{\bmk _1, \uparrow} \aod{- \bmk _2, \downarrow} + \eta \ao{- \bmk _1, \downarrow} \ao{\bmk _2, \uparrow}} \right\}.
\end{eqnarray}

The Heisenberg representation of this gives 
\begin{eqnarray}
A(t) &=& \sum _{\bmk _1, \bmk _2} \Braket{\bmk _1, \uparrow | \hat{A} | \bmk _2, \uparrow} \left\{ \brac{\cos \theta _{\bmk _1} \cos \theta _{\bmk _2} - \eta \sin \theta _{\bmk _1} \sin \theta _{\bmk _2}} \brac{\aod{\bmk _1, \uparrow} \ao{\bmk _2, \uparrow} \expo{\frac{i}{\hbar} (E_{\bmk _1} - E_{\bmk _2}) t} + \eta \aod{- \bmk _2, \downarrow} \ao{- \bmk _1, \downarrow} \expo{- \frac{i}{\hbar} (E_{\bmk _1} - E_{\bmk _2}) t}} \right. \nonumber \\
&\ & \hspace{1.5cm} \left. + \brac{\cos \theta _{\bmk _1} \sin \theta _{\bmk _2} + \eta \sin \theta _{\bmk _1} \cos \theta _{\bmk _2}} \brac{\aod{\bmk _1, \uparrow} \aod{- \bmk _2, \downarrow} \expo{\frac{i}{\hbar} (E_{\bmk _1} + E_{\bmk _2}) t} + \eta \ao{- \bmk _1, \downarrow} \ao{\bmk _2, \uparrow} \expo{- \frac{i}{\hbar} (E_{\bmk _1} + E_{\bmk _2}) t} } \right\}.
\end{eqnarray}

The Heisenberg representation of this gives 
\begin{adjustwidth}{-1cm}{-1cm}
\begin{eqnarray}
A(t) &=& \sum _{\bmk _1, \bmk _2} \Braket{\bmk _1, \uparrow | \hat{A} | \bmk _2, \uparrow} \left\{ \brac{\cos \theta _{\bmk _1} \cos \theta _{\bmk _2} - \eta \sin \theta _{\bmk _1} \sin \theta _{\bmk _2}} \brac{\aod{\bmk _1, \uparrow} \ao{\bmk _2, \uparrow} \expo{\frac{i}{\hbar} (E_{\bmk _1} - E_{\bmk _2}) t} + \eta \aod{- \bmk _2, \downarrow} \ao{- \bmk _1, \downarrow} \expo{- \frac{i}{\hbar} (E_{\bmk _1} - E_{\bmk _2}) t}} \right. \nonumber \\
&\ & \hspace{1.5cm} \left. + \brac{\cos \theta _{\bmk _1} \sin \theta _{\bmk _2} + \eta \sin \theta _{\bmk _1} \cos \theta _{\bmk _2}} \brac{\aod{\bmk _1, \uparrow} \aod{- \bmk _2, \downarrow} \expo{\frac{i}{\hbar} (E_{\bmk _1} + E_{\bmk _2}) t} + \eta \ao{- \bmk _1, \downarrow} \ao{\bmk _2, \uparrow} \expo{- \frac{i}{\hbar} (E_{\bmk _1} + E_{\bmk _2}) t} } \right\}.
\end{eqnarray}
\end{adjustwidth}

\end{document}

MWE 출력:

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

Eq(2)는 adjustwidth. 내 컴퓨터에서 PDF를 볼 때는 그 정도면 충분하지만, 인쇄할 때 오른쪽 가장자리 부분이 사라지게 됩니다. 식(3)은 로 쓰여진다 adjustwidth. 읽기 및 인쇄가 가능합니다. 그런데 중복되는 공간이 삽입되어 있습니다. (Eq(2) 또는 Eq(3)에서는 단일 방정식이 두 개의 선으로 나누어집니다. 방정식을 더 이상(세 개 이상의 선으로) 나누고 싶지 않습니다.)

답변1

나는 제안한다 split. LaTeX와 함께 사용하지 마십시오 eqnarray. 에서 제공하는 정렬 환경을 선호하십시오 amsmath.

\documentclass{article}
\usepackage[top=30truemm,bottom=30truemm,left=25truemm,right=25truemm]{geometry}

\usepackage{amsmath}
\usepackage{changepage}
\usepackage{braket}
\usepackage{bm}

\newcommand{\bmk}{\bm{k}}
\newcommand{\brac}[1]{\left( #1 \right)}
\newcommand{\expo}[1]{e^{#1}}
\newcommand{\ao}[1]{a_{#1}}
\newcommand{\aod}[1]{a^\dagger_{#1}}
\newcommand{\up}{{\uparrow}}
\newcommand{\down}{{\downarrow}}

\begin{document}

Operator $A$ is defined as
\begin{equation}
\begin{split}
A = 
\sum_{\bmk_1, \bmk_2} \braket{\bmk_1, \up | \hat{A} | \bmk_2, \up} \bigl\{
& 
  (\cos\theta_{\bmk_1} \cos\theta_{\bmk_2} - \eta \sin\theta_{\bmk_1} \sin\theta_{\bmk_2})
  (\aod{\bmk_1, \up} \ao{\bmk_2, \up} + \eta \aod{- \bmk_2, \down} \ao{- \bmk_1, \down}) \\
{}+{} &
  (\cos\theta_{\bmk_1} \sin\theta_{\bmk_2} + \eta \sin\theta_{\bmk_1} \cos\theta_{\bmk_2})
  (\aod{\bmk_1, \up} \aod{- \bmk_2, \down} + \eta \ao{- \bmk_1, \down} \ao{\bmk_2, \up})
  \bigr\}.
\end{split}
\end{equation}
The Heisenberg representation of this gives 
\begin{equation}
\begin{split}
A(t) = \sum_{\bmk_1, \bmk_2} &\braket{\bmk_1, \up | \hat{A} | \bmk_2, \up}
\\
{}\cdot\bigl\{&
  (\cos\theta_{\bmk_1} \cos\theta_{\bmk_2} - \eta \sin\theta_{\bmk_1} \sin\theta_{\bmk_2})
  (\aod{\bmk_1, \up} \ao{\bmk_2, \up} \expo{\frac{i}{\hbar} (E_{\bmk_1} - 
    E_{\bmk_2}) t} + \eta \aod{- \bmk_2, \down} \ao{- \bmk_1, \down} 
    \expo{- \frac{i}{\hbar} (E_{\bmk_1} - E_{\bmk_2}) t})
\\
{}+{}&
  (\cos\theta_{\bmk_1} \sin\theta_{\bmk_2} + \eta \sin\theta_{\bmk_1} \cos\theta_{\bmk_2})
  (\aod{\bmk_1, \up} \aod{- \bmk_2, \down} \expo{\frac{i}{\hbar} (E_{\bmk_1} + E_{\bmk_2}) t} +
     \eta \ao{- \bmk_1, \down} \ao{\bmk_2, \up} 
     \expo{- \frac{i}{\hbar} (E_{\bmk_1} + E_{\bmk_2}) t}) \bigl\}.
\end{split}
\end{equation}

\end{document}

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

몇 가지 참고 사항: 주변에 너무 큰 울타리를 제공하는 모든 \left및 명령을 제거했습니다 . 또한 과 를 \right정의했습니다 . 왜냐하면 은 관계 기호이고 일반 기호로 사용하면 잘못된 간격이 생성될 수 있기 때문입니다. 정의의 중괄호는 모든 곳에서 일반 기호처럼 만들고 작동합니다 .\up\down\uparrow\downarrow\up\down

답변2

우선, 사용하지 말고 대신 eqnarray사용하세요 align. 둘째, adjustwidth몇 가지 추가 줄 바꿈을 삽입하면 큰 망치 에 의지할 필요가 없습니다 . 가독성을 높이려면 다음 스크린샷과 같이 매크로 \exp내부에 -notation을 사용하는 것이 좋습니다.\expo

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

\documentclass{article}
\usepackage[vmargin=3cm,hmargin=2.5cm]{geometry}
\usepackage{amsmath}
\allowdisplaybreaks
\usepackage{changepage}
\usepackage{braket}
\usepackage{bm}

\newcommand{\bmk}{{\bm{k}}}
\newcommand{\brac}[1]{\Bigl( #1 \Bigr)}
\newcommand{\expo}[1]{\exp\bigl(#1\bigr)}
\newcommand{\ao}[1]{a^{\vphantom{\dagger}}_{#1}}
\newcommand{\aod}[1]{a^\dagger _{#1}}

\begin{document}

Operator $A$ is defined as
\begin{align}
A &= \sum _{\bmk _1, \bmk _2} 
\Braket{\bmk _1, \uparrow | \hat{A} | \bmk _2, \uparrow}
\Bigl\{ 
  \brac{\cos \theta _{\bmk _1} \cos \theta _{\bmk _2} 
  - \eta \sin \theta _{\bmk _1} \sin \theta _{\bmk _2}} \notag\\
&\qquad\times\brac{\aod{\bmk _1, \uparrow} \ao{\bmk _2, \uparrow} 
  + \eta \aod{- \bmk _2, \downarrow} \ao{- \bmk _1, \downarrow}} \nonumber \\
&\quad+ \brac{\cos \theta _{\bmk _1} \sin \theta _{\bmk _2} 
  + \eta \sin \theta _{\bmk _1} \cos \theta _{\bmk _2}} 
  \brac{\aod{\bmk _1, \uparrow} \aod{- \bmk _2, \downarrow} 
  + \eta \ao{- \bmk _1, \downarrow} \ao{\bmk _2, \uparrow}}
\Bigr\}.\\
\intertext{The Heisenberg representation of this gives}
A(t) &= \sum _{\bmk _1, \bmk _2}
\Braket{\bmk _1, \uparrow | \hat{A} | \bmk _2, \uparrow}
\Bigl\{
  \brac{\cos \theta _{\bmk _1} \cos \theta _{\bmk _2} 
  - \eta \sin \theta _{\bmk _1} \sin \theta _{\bmk _2}} \notag\\
&\qquad\times\brac{\aod{\bmk _1, \uparrow} \ao{\bmk _2, \uparrow} 
  \expo{\tfrac{i}{\hbar} (E_{\bmk _1} - E_{\bmk _2}) t} 
  + \eta \aod{- \bmk _2, \downarrow} \ao{- \bmk _1, \downarrow} 
  \expo{- \tfrac{i}{\hbar} (E_{\bmk _1} - E_{\bmk _2}) t}} \nonumber \\
&\quad + \brac{\cos \theta _{\bmk _1} \sin \theta _{\bmk _2} 
  + \eta \sin \theta _{\bmk _1} \cos \theta _{\bmk _2}} \notag\\
&\qquad\times\brac{\aod{\bmk _1, \uparrow} \aod{- \bmk _2, \downarrow} 
  \expo{\tfrac{i}{\hbar} (E_{\bmk _1} + E_{\bmk _2}) t} 
  + \eta \ao{- \bmk _1, \downarrow} \ao{\bmk _2, \uparrow} 
  \expo{- \tfrac{i}{\hbar} (E_{\bmk _1} + E_{\bmk _2}) t} } 
\Bigr\}\,.
\end{align}

\end{document}

답변3

소스 코드는 changepage.sty다음과 같습니다

\newenvironment{adjustwidth}[2]{%
  \begin{list}{}{%
    \topsep\z@%
    \listparindent\parindent%
    \parsep\parskip%
    \@ifmtarg{#1}{\setlength{\leftmargin}{\z@}}%
                 {\setlength{\leftmargin}{#1}}%
    \@ifmtarg{#2}{\setlength{\rightmargin}{\z@}}%
                 {\setlength{\rightmargin}{#2}}%
    }
    \item[]}{\end{list}}

(이 링크는 위 코드를 이해하는 데 도움이 될 수 있습니다.\z@는 무엇을 하나요?그리고\topsep, \itemsep, \partopsep 및 \parsep - 각각은 무엇을 의미합니까(그리고 아래쪽은 무엇입니까)?)

따라서 문제는 로 인한 것이 아니라 adjustwidth로 인한 것 입니다 eqnarray. 환경 list에서는 항목당 한 줄을 제공하지만 eqnarray자동으로 개행을 삽입하므로 공간이 넓어집니다. 여백 설정은 관련이 없으며 itemize. 예를 들어,

입력:

\documentclass{article}

\begin{document}

\begin{itemize}
\item
\begin{eqnarray}
f(x) = 1
\end{eqnarray}
\end{itemize}

\begin{itemize}
\item Hello
\begin{eqnarray}
f(x) = 1
\end{eqnarray}
\end{itemize}

\end{document}

산출:

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

따라서 해결책은 텍스트를 adjustwidth환경으로 옮기는 것입니다.

입력:

\documentclass{article}
\usepackage[top=30truemm,bottom=30truemm,left=25truemm,right=25truemm]{geometry}
\usepackage{changepage}

\begin{document}

\ \\ % normal
Hello World!
\begin{eqnarray}
f(x) = 1
\end{eqnarray}

\ \\ % with adjustwidth
Hello World!
\begin{adjustwidth}{-1cm}{-1cm}
\begin{eqnarray}
f(x) = 1
\end{eqnarray}
\end{adjustwidth}

\ \\ % solution
\begin{adjustwidth}{-1cm}{-1cm}
\hspace{1.0cm}Hello World! % note that this text is INSIDE the environment
\begin{eqnarray}
f(x) = 1
\end{eqnarray}
\end{adjustwidth}

\end{document}

산출:

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

이것이 더 이상 사용되지 않지만 내가 원했던 것입니다 eqnarray...

관련 정보