LaTeX에서 수리 계획 (수리 최적화) 문제를 설명하는 환경

8669 단어 LaTeX최적화

개요



LaTeX에서 수리 계획 (수리 최적화) 문제를,



와 같이 기술하기 위한 mpproblem 환경( \begin{mpproblem} ... \end{mpproblem} )이라는 것을 만들었습니다.

특징


  • 문제 이름 (위의 예에서는 (P))과 세로 막대를 출력
  • 문제 내용은 amsmath 패키지의 alignat을 사용할 수 있습니다.
  • 복수의 식의 기술이 가능
  • 수식 번호의 개별 부여, 상호 참조가 가능

  • nameref (hyperref) 패키지를 사용하면 문제 이름 (P)은 상호 참조 가능합니다.

    샘플 코드



    MPProblem_excerpt.tex
    \documentclass[12pt, a4paper, papersize, dvipdfmx]{jsarticle}
    
    % ---- Preamble -------------------------------------------------------------- %
    % -------- Packages ------------------------------------------------------ %
    % AMS
    \usepackage{amsmath}
    
    % Ref
    \usepackage{nameref}
    
    % -------- Environments -------------------------------------------------- %
    % New Environments
    \newcounter{mpproblem}[section]
    \renewcommand{\thempproblem}{\thesection.\arabic{mpproblem}}
    \makeatletter
    \newenvironment{mpproblem}[1]%
    {%
        \protected@edef\@currentlabelname{#1}%
        \par\vspace{\baselineskip}\noindent%
        \ifx#1\empty %
        \else \refstepcounter{mpproblem}$($#1$)$ %
        \fi%
        \hfill%
        $\left|%
        \hfill%
        \hspace{0.00\textwidth}%
        \@fleqntrue\@mathmargin\parindent%
        \begin{minipage}{0.86\textwidth}%
        \vspace{-1.0\baselineskip}%
    }%
    {%
        \end{minipage}%
        \@fleqnfalse%
        \right.$%
        \par\vspace{\baselineskip}\noindent%
        \ignorespacesafterend%
    }%
    \makeatother
    \newcommand{\mpprobref}[1]{$($\nameref{#1}$)$}
    
    \newenvironment{mpproblem*}%
    {%
        \begin{mpproblem}{}%
    }%
    {%
        \end{mpproblem}%
        \ignorespacesafterend%
    }
    
    
    
    % ---- Text ------------------------------------------------------------------ %
    \begin{document}
    
    問題名あり。
    %
    \begin{mpproblem}{$P$}
    \label{mpprob:P}
    \begin{alignat}{2}
     &\text{minimize}   & \quad  c^\top x  &        \label{eqn:P_Obj}     \\
     &\text{subject to} & \quad  Ax        &\geq b  \label{eqn:P_Con-Eq}  \\
     &                  & \quad  x         &\geq 0. \label{eqn:P_Con-Non} 
    \end{alignat}
    \end{mpproblem}
    
    問題名なし。
    %
    \begin{mpproblem*}
    \begin{alignat}{2}
     &\text{minimize}   & \quad f(x)  &        \label{eqn:FG_Obj}    \\
     &\text{subject to} & \quad g(x)  &\leq 0. \label{eqn:FG_Con-Eq} 
    \end{alignat}
    \end{mpproblem*}
    
    nameref(hyperref)パッケージを使えば、
    問題名\mpprobref{mpprob:P}は相互参照可能。
    
    \end{document}
    

    좀 더 자세한 샘플 코드를 GitHub에서 공개했습니다.
    htps : // 기주 b. 코 m / 사무에 어디 / ぁ ぇ v M pp b m
  • 좋은 웹페이지 즐겨찾기