열을 기준으로 테이블의 항목 번호 매기기

열을 기준으로 테이블의 항목 번호 매기기

저는 4개의 열과 증분 번호가 매겨진 2개의 열이 있는 큰 테이블을 만들려고 합니다. 실제 테이블에는 약 40개의 번호가 매겨진 항목이 있습니다.

다음은 패키지와 함께 두 개의 카운터를 사용하는 대략적인 원하는 동작과 복잡한 MWE입니다 totcount( rowArowB, 사용 참고 \setcounter{rowB}{\totvalue{rowA}}).

MWE 테이블

\documentclass[11pt,letterpaper]{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{totcount}
\usepackage{array}

\newtotcounter{rowA}
\newcommand\rowA{\stepcounter{rowA}{\bf \arabic{rowA}.~}}

\newcounter{rowB}
\newcommand\rowB{\stepcounter{rowB}{\bf \arabic{rowB}.~}}

\renewcommand{\arraystretch}{2}

\begin{document}
\setcounter{rowB}{\totvalue{rowA}}
\[ \begin{array}{*2{>{\displaystyle}l}*2{>{\displaystyle}l}} 
  f(t) & \mathcal{L}\{f\}(s) & f(t) & \mathcal{L}\{f\}(s) \\ \hline 
 \rowA e^{at} & \frac{1}{s-a} &  \rowB t^n & \frac{n!}{s^{n+1}} \\
 \rowA \sin(bt) & \frac{b}{s^2 + b^2} & \rowB u(t-a), \, a\geq 0 & \frac{e^{-as}}{s}\\
 \rowA \cos(bt) & \frac{s}{s^2+b^2}  & \rowB \delta(t-a), \, a \geq 0 & e^{-as}
\end{array}\]
\end{document}

질문

  1. 이 작업을 수행하는 덜 복잡한 방법이 있습니까? 이상적으로는 하나의 카운터와 번호 매기기 명령만 필요한 것입니까?
  2. 나는 처음부터 매우 WYSIWYG/TeX가 아닌 각 열의 정보가 무엇인지 결정해야 한다는 점에서 이 솔루션에 대해 짜증이 났습니다. 수식을 2열 테이블로 입력한 다음 multicols. 나는 헤더를 반복해서 사용하려고 노력하고 있지만 longtable지금까지는 기쁨이 없습니다.

답변1

여기서는 열 유형에 자동 단계별 실행을 적용하여 첫 번째 질문을 해결했습니다(이를 위해 새 열 유형 정의).

AB유형을 사용하는 이유는 해당 모드에서 활성화된 수학 모드에서는 허용되지 않기 \text{\bfseries ...}때문입니다 .\bfseries

\documentclass[11pt,letterpaper]{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{totcount}
\usepackage{array}

\newtotcounter{rowA}
\newcounter{rowB}

\newcolumntype{A}{>{\stepcounter{rowA}{\text{\bfseries\therowA.~}}}l}
\newcolumntype{B}{>{\stepcounter{rowB}{\text{\bfseries\therowB.~}}}l} 

\newcolumntype{M}{>{\displaystyle}l}

\renewcommand{\arraystretch}{2}

\begin{document}
\setcounter{rowB}{\totvalue{rowA}}
\[ \begin{array}{AMBM}
\multicolumn{1}{M}{f(t)} & \multicolumn{1}{M}{\mathcal{L}\{f\}(s)} & \multicolumn{1}{M}{f(t)} & \multicolumn{1}{M}{\mathcal{L}\{f\}(s)} \\ \hline 
    e^{at} & \frac{1}{s-a} &   t^n & \frac{n!}{s^{n+1}} \\
  \sin(bt) & \frac{b}{s^2 + b^2} &  u(t-a), \, a\geq 0 & \frac{e^{-as}}{s}\\
  \cos(bt) & \frac{s}{s^2+b^2}  &  \delta(t-a), \, a \geq 0 & e^{-as} \\
  & & & \\ % Fake line
\end{array}\]
\end{document}

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

카운터가 하나뿐인 길

\documentclass[11pt,letterpaper]{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{totcount}
\usepackage{array}

\newtotcounter{rowA}

\newcolumntype{A}{>{\displaystyle\stepcounter{rowA}{\mathbf{\therowA.~}}}l}
\makeatletter
% Using one counter only: add the current value of \rowA and the total counter value -- this will give the 'rowB' 
\newcolumntype{B}{>{\displaystyle\mathbf{\@arabic{\numexpr \c@rowA + \totvalue{rowA}}.~}}l}
\makeatother

\newcolumntype{M}{>{\displaystyle}l}

\renewcommand{\arraystretch}{2}

\begin{document}
\[ \begin{array}{AMBM}
  \multicolumn{1}{M}{f(t)} & \multicolumn{1}{M}{\mathcal{L}\{f\}(s)} & \multicolumn{1}{M}{f(t)} & \multicolumn{1}{M}{\mathcal{L}\{f\}(s)} \\ \hline 
  e^{at} & \frac{1}{s-a} &   t^n & \frac{n!}{s^{n+1}} \\
  \sin(bt) & \frac{b}{s^2 + b^2} &  u(t-a), \, a\geq 0 & \frac{e^{-as}}{s}\\
  \cos(bt) & \frac{s}{s^2+b^2}  &  \delta(t-a), \, a \geq 0 & e^{-as} \\
  \frac{1}{t} f(t) & \int_s^\infty F(u) ~\mathrm{d} u & \frac{1}{\sqrt{t}} & \frac{\sqrt{\pi}}{\sqrt{s}}\\
\end{array}\]
\end{document}

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

관련 정보