열거된 방정식을 왼쪽에, 텍스트를 오른쪽에 정렬하려면 어떻게 해야 합니까?

열거된 방정식을 왼쪽에, 텍스트를 오른쪽에 정렬하려면 어떻게 해야 합니까?

나는 그들에 대한 짧고 설명적인 진술과 함께 몇 가지 관계를 나열하고 있습니다. 내가 생각하는 방식으로 왼쪽 여백을 기준으로 관계를 왼쪽에, 레이블을 오른쪽에 배치하려고 합니다. 아래의 가짜 시도는 내 의도를 보여줍니다.

어리석은 예

나는 이것이 "확장된" 열거 목록처럼 보이길 원합니다. 따라서 다른 목록과 동일한 들여쓰기 및 세로 간격을 가져야 하며 방정식 번호는 없어야 합니다. 환경 을 활용하려고 생각했는데 tabular, 무엇을 활용하는지에 있어서 간격을 어떻게 표현해야 할지 모르겠습니다 enumerate.

이를 수행하는 현명한 방법은 무엇입니까?

답변1

정규식을 사용 enumerate하고 같은 크기의 상자 안에 모든 방정식을 설정합니다(다음을 사용).eqparbox님의 \eqmakebox[<tag>][<align>]{<stuff>}:

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

\documentclass{article}

\usepackage{eqparbox}

\begin{document}

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ut lorem ac orci ullamcorper mattis. 
Nunc at convallis turpis, aliquam vehicula leo. Etiam mollis, urna nec interdum suscipit, lacus 
ante mollis risus, placerat efficitur lacus quam at mauris. Vestibulum pretium dolor a eleifend 
vestibulum. Duis sed ornare sapien.

\begin{enumerate}
  \item First item
  \item Second item
  \item Third item
\end{enumerate}

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ut lorem ac orci ullamcorper mattis. 
Nunc at convallis turpis, aliquam vehicula leo. Etiam mollis, urna nec interdum suscipit, lacus 
ante mollis risus, placerat efficitur lacus quam at mauris. Vestibulum pretium dolor a eleifend 
vestibulum. Duis sed ornare sapien.

\begin{enumerate}
  \item
    \eqmakebox[leq][l]{$f(x) = \Theta$} \qquad (belonging to~$\Theta$)
  \item
    \eqmakebox[leq][l]{$f(x+y) = x \leftrightarrow x > y$} \qquad (identity of confusion)
  \item
    \eqmakebox[leq][l]{$\lambda f(x) = f(x^\lambda)$} \qquad (non-sensible relation)
\end{enumerate}

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ut lorem ac orci ullamcorper mattis. 
Nunc at convallis turpis, aliquam vehicula leo. Etiam mollis, urna nec interdum suscipit, lacus 
ante mollis risus, placerat efficitur lacus quam at mauris. Vestibulum pretium dolor a eleifend 
vestibulum. Duis sed ornare sapien.

\end{document}

a 대신 목록을 사용하면 tabular다른 목록과 동일한 방식으로 내용이 정렬되고 비슷한 크기의 상자에 콘텐츠를 설정하면 "댓글"과 수평 정렬이 보장됩니다.

답변2

tabular번호 매기기 및 정렬을 제공하는 명령과 같은 항목과 결합하여 새 환경을 정의할 수 있습니다 .

샘플 출력

\documentclass{article}

\usepackage{array,environ}

\newcolumntype{L}{>{$}l<{$}}

\newcounter{aenum}
\renewcommand{\theaenum}{\arabic{aenum}.}
\newcommand{\aitem}[2]{\refstepcounter{aenum}\theaenum&#1&(#2)\\}

\NewEnviron{annotedeqnlist}{\noindent
\begin{tabular}{rL@{\quad}l}
  \setcounter{aenum}{0}%
  \BODY
\end{tabular}}

\begin{document}

\begin{annotedeqnlist}
\aitem{f(x) \in \Theta}{belonginess to \( \Theta \)}
\aitem{f(x+y)=x \iff x>y}{identity of confusion}
\end{annotedeqnlist}
\end{document}

array편리한 수학형 컬럼을 제공하기 위해 패키지를 사용했습니다 . \displaystyle다음과 같이 열 정의에 추가하는 것을 고려할 수 있습니다 .

\newcolumntype{L}{>{$\displaystyle}l<{$}}

답변3

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

\documentclass[a4paper]{article}

%% Language and font encodings
\usepackage[english]{babel}
\usepackage[utf8x]{inputenc}
\usepackage[T1]{fontenc}
%% Useful packages
\usepackage{amsmath}
\newcommand\lreqn[2]{\noindent\makebox[\textwidth]{$\displaystyle#1$\hfill(#2)}\vspace{2ex}}


\begin{document}
\lreqn{f(x)= \Theta}{first function}
\lreqn{f(x+y)=f(x)+f(y)}{second function}
\end{document}

또는 방문방정식에 '텍스트'를 **올바르게** 작성하세요..

답변4

코드는 복잡해 보일 수 있지만 구문은 매우 친숙합니다. 환경 은 구분 기호를 사용하여 annotedeqn에 의해 소개된 행 목록입니다 . 이전 부분은 수학 모드(필요한 경우 변경할 수 있음)로 조판되고 두 번째 부분은 텍스트 모드로 조판됩니다.\item&&

첫 번째 부분이 측정되므로 동일한 수평 위치(가장 넓은 첫 번째 부분의 끝에서 2em)에서 두 번째 부분을 시작할 수 있습니다.

분명한 가정은 모든 항목이 한 줄에 들어맞는다는 것입니다.

\documentclass{article}

\usepackage{environ,xparse}

\usepackage{lipsum}

\ExplSyntaxOn
\NewEnviron{annotedeqnlist}
 {
  \giusti_annotedeqn_list:V \BODY
 }

\seq_new:N \l__giusti_annotedeqn_list_seq
\seq_new:N \l__giusti_annotedeqn_listarg_seq
\seq_new:N \l__giusti_annotedeqn_temp_seq
\box_new:N \l__giusti_annotedeqn_first_box

\cs_new_protected:Nn \giusti_annotedeqn_list:n
 {
  % get the items
  \seq_set_split:Nnn \l__giusti_annotedeqn_list_seq { \item } { #1 }
  % discard the first empty item
  \seq_pop_left:NN \l__giusti_annotedeqn_list_seq \l_tmpa_tl
  % massage the items
  \seq_clear:N \l__giusti_annotedeqn_listarg_seq
  \seq_map_inline:Nn \l__giusti_annotedeqn_list_seq
   {
    \seq_set_split:Nnn \l__giusti_annotedeqn_temp_seq { & } { ##1 }
    \seq_put_right:Nx \l__giusti_annotedeqn_listarg_seq
     {
      {\seq_item:Nn \l__giusti_annotedeqn_temp_seq { 1 } }
      {\seq_item:Nn \l__giusti_annotedeqn_temp_seq { 2 } }
     }
   }
  % measure the equations
  \hbox_set:Nn \l__giusti_annotedeqn_first_box
   {
    $\begin{array}{@{}l@{}}
    \seq_map_function:NN \l__giusti_annotedeqn_listarg_seq \__giusti_annotedeqn_first:n
    \end{array}$
   }
  % produce the enumerate environment
  \begin{enumerate}
  \seq_map_function:NN \l__giusti_annotedeqn_listarg_seq \__giusti_annotedeqn_item:n
  \end{enumerate}
 }
\cs_generate_variant:Nn \giusti_annotedeqn_list:n { V }

\cs_new_protected:Nn \__giusti_annotedeqn_first:n
 {
  \use_i:nn #1 \\
 }

\cs_new_protected:Nn \__giusti_annotedeqn_item:n
 {
  \__giusti_annotedeqn_item:nn #1
 }
\cs_new_protected:Nn \__giusti_annotedeqn_item:nn
 {
  \item
  \makebox[\box_wd:N \l__giusti_annotedeqn_first_box][l]{$#1$}
  \qquad
  #2
 }
\ExplSyntaxOff

\begin{document}

\lipsum*[2]
\begin{annotedeqnlist}

\item f(x) \in \Theta & (belonginess to \( \Theta \))

\item\label{confusion} f(x+y)=x \iff x>y & (identity of confusion)

\item \lambda f(x)=f(x^\lambda) & (non-sensible relation)

\end{annotedeqnlist}
with a reference to item~\ref{confusion}.

\lipsum*[3]
\begin{annotedeqnlist}

\item f(x) \in \Theta & (belonginess to \( \Theta \))

\item \lambda f(x)=f(x^\lambda) & (non-sensible relation)

\end{annotedeqnlist}

\end{document}

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

관련 정보