表形式のケース環境の中括弧のスケール

Nov 25 2020

中括弧が水平線からいくらかオフセットされるように、テーブル内のケース環境をフォーマットしたいと思います。デフォルトでは、この距離はゼロであり\extrarowheight、中括弧を使用して行の高さを調整する場合は、単純に比例してスケーリングします。を使用してより良い結果を得ることができませんでした\array

誰かがこれを正しくタイプセットする方法を知っていますか?

\documentclass[12pt]{article}

\usepackage[a4paper, top = 0.1cm, left = 0.1cm, right = 0.1cm, bottom = 0.1cm, bindingoffset=0cm]{geometry}
\usepackage[utf8]{inputenc}
\usepackage{mathtools}
\usepackage{multirow}

\newcommand{\ROC}{\text{ROC}}

\begin{document}

\begin{tabular}{@{}c|c|c@{}}
    $F(z)$ & $\ROC(f)$ & $f[.]$\\\hline
    \multirow{2}{*}{$\dfrac{z}{z-p}$} & $|z| > |p|$ & $f[k] = \begin{cases}\hphantom{-}0, \quad &k<0\\\hphantom{-}p^k, \quad &k\ge 0\end{cases}$\\\cline{2-3}
    & $0 < |z| < |p|$ & $f[k] = \begin{cases}-p^k, \quad &k<0\\\hphantom{-}0, \quad &k\ge 0\end{cases}$\\\hline 
    \multirow{2}{*}{\shortstack{$\dfrac{Az}{z-p} + \dfrac{\overline{A}z}{z-p}$\\$=2z\dfrac{z\text{Re}(A)-\text{Re}(A\overline{p})}{z^2 - 2z\text{Re}(p)+|p|^2}$}} & $|z| > |p|$ & $f[k] = \begin{cases}\hphantom{-}0, & k<0\\\hphantom{-}2|A||p|^k\cos(\Omega k+\varphi), &k\ge 0 \end{cases}$\\\cline{2-3}
    & $0<|z|<|p|$ & $f[k] = \begin{cases}-2|A||p|^k\cos(\Omega k+\varphi), & k<0\\\hphantom{-} 0, &k\ge 0 \end{cases}$
\end{tabular}

\end{document}

回答

10 Zarko Nov 25 2020 at 07:07

パッケージでmakegapedcells定義されているものを使用するとmakecell

\documentclass[12pt]{article}
\usepackage[a4paper, margin= .1cm, 
            bindingoffset=0cm]{geometry}
\usepackage{mathtools}
\usepackage{makecell, multirow}

\newcommand{\ROC}{\text{ROC}}

\begin{document}
    \[
\setcellgapes{3pt}
\makegapedcells
\begin{array}{@{}c|c|c@{}}
F(z)    &   \ROC(f)         &   f[.]    \\  
    \hline
\multirow{4.4}{*}{$\dfrac{z}{z-p}$} 
        &   |z| > |p|       &   f[k] = \begin{cases}
                            \hphantom{-}0, \quad    &  k<0   \\
                            \hphantom{-}p^k, \quad  &   k\ge 0
                                    \end{cases} \\
    \cline{2-3}
        &   0 < |z| < |p|   &   f[k] = \begin{cases}
                            -p^k, \quad         &   k<0 \\\
                            \hphantom{-}0, \quad &   k\ge 0
                                        \end{cases} \\
    \hline
\multirow{4.4}{*}{$\begin{aligned} & \dfrac{Az}{z-p} + \dfrac{\overline{A}z}{z-p} \\ & = 2z\dfrac{z\text{Re}(A)-\text{Re}(A\overline{p})} {z^2 - 2z\text{Re}(p)+|p|^2} \end{aligned}$} 
        &   |z| > |p|       &   f[k] = \begin{cases}
                                \hphantom{-}0, & k<0    \\
                                \hphantom{-}2|A||p|^k\cos(\Omega k+\varphi), &  k\ge 0
                                        \end{cases}     \\
    \cline{2-3}
    &   0<|z|<|p|           &   f[k] = \begin{cases}
                            -2|A||p|^k\cos(\Omega k+\varphi),   & k<0\\
                            \hphantom{-} 0,                     &k\ge 0   
                                \end{cases}
\end{array}
    \]
\end{document}

注:のarray代わりに数学環境の内部を使用すると、セルを除くテーブル内のtabularすべて$を省略できます\multirow

7 LuisTurcio Nov 25 2020 at 07:01

一つの可能性は使用することですbooktabsパッケージを、すべてを置き換える\hlineことにより、\midruleおよび\cline{2-3}\cmidrule{2-3}次のように:

\documentclass[12pt]{article}

\usepackage[a4paper, top = 0.1cm, left = 0.1cm, right = 0.1cm, bottom = 0.1cm, bindingoffset=0cm]{geometry}
\usepackage[utf8]{inputenc}
\usepackage{mathtools}
\usepackage{multirow}
\usepackage{booktabs}

\newcommand{\ROC}{\text{ROC}}

\begin{document}

\begin{tabular}{@{}c|c|c@{}}
    $F(z)$ & $\ROC(f)$ & $f[.]$\\\midrule
    \multirow{2}{*}{$\dfrac{z}{z-p}$} & $|z| > |p|$ & $f[k] = \begin{cases}\hphantom{-}0, \quad &k<0\\\hphantom{-}p^k, \quad &k\ge 0\end{cases}$\\\cmidrule{2-3}
    & $0 < |z| < |p|$ & $f[k] = \begin{cases}-p^k, \quad &k<0\\\hphantom{-}0, \quad &k\ge 0\end{cases}$\\\midrule 
    \multirow{2}{*}{\shortstack{$\dfrac{Az}{z-p} + \dfrac{\overline{A}z}{z-p}$\\$=2z\dfrac{z\text{Re}(A)-\text{Re}(A\overline{p})}{z^2 - 2z\text{Re}(p)+|p|^2}$}} & $|z| > |p|$ & $f[k] = \begin{cases}\hphantom{-}0, & k<0\\\hphantom{-}2|A||p|^k\cos(\Omega k+\varphi), &k\ge 0 \end{cases}$\\\cmidrule{2-3}
    & $0<|z|<|p|$ & $f[k] = \begin{cases}-2|A||p|^k\cos(\Omega k+\varphi), & k<0\\\hphantom{-} 0, &k\ge 0 \end{cases}$
\end{tabular}

これにより、次の出力が得られます。

6 Mico Nov 25 2020 at 13:34

すべての垂直ルールとほぼすべての水平ルールを削除し、セルの内容を左揃えにし、array代わりにを使用しtabular、の値を2倍にし\arraycolsep\addlinespaceマクロを使用して行間に空白タイプ(「負のスペース」)を作成します。また、LaTeXコードをクリーンアップして合理化します。例えば、置き換える\overline\bar、使うalignedのではなく、環境を\shortstack指示し、セットアップ\ROC\Re数学演算子など。(後者の変更を提案してくれた@egregに感謝します。)

\documentclass[12pt]{article}

\usepackage[a4paper, margin=5mm, bindingoffset=0cm]{geometry}
% \usepackage[utf8]{inputenc} % is the default
\usepackage[T1]{fontenc}
\usepackage{mathtools} % for '\DeclarePairedDelimiter' macro
\DeclarePairedDelimiter\abs\lvert\rvert
\usepackage{booktabs}

\DeclareMathOperator{\ROC}{ROC}
\renewcommand\Re{\operatorname{Re}}

\begin{document}

\[
\setlength\arraycolsep{10pt} % default: 5pt
\begin{array}{@{} lll @{}}
    F(z) & \ROC(f) & f[k] \\
    \midrule %\hline
    \dfrac{z}{z-p}
    & \abs{z} > \abs{p} 
    & \begin{cases}
             \hphantom{-}0   &\text{if $k<0$}\\
             \hphantom{-}p^k &\text{if $k\ge0$}
             \end{cases} \\
    \addlinespace %\cline{2-3}
    & 0 < \abs{z} < \abs{p} 
    & \begin{cases}
          -p^k          &\text{if $k<0$}\\
          \hphantom{-}0 &\text{if $k\ge0$}
      \end{cases} \\
    \addlinespace[2\defaultaddspace] % \hline 
     \smash[b]{%
         \begin{aligned}[t] &\frac{Az}{z-p} + \frac{\bar{A}z}{z-p} \\ &=2z\frac{z\Re(A)-\Re(A\bar{p})}{z^2 - 2z\Re(p)+\abs{p}^2} \end{aligned}}
    & \abs{z} > \abs{p} 
    & \begin{cases}
             \hphantom{-}0  & \text{if $k<0$}\\
             \hphantom{-}2\abs{A}\abs{p}^k\cos(\Omega k+\varphi) &\text{if $k\ge0$}   
      \end{cases} \\
    \addlinespace % \cline{2-3}
    & 0<\abs{z}<\abs{p} 
    & \begin{cases}
             -2\abs{A}\abs{p}^k\cos(\Omega k+\varphi) & \text{if $k<0$}\\
             \hphantom{-} 0 &\text{if $k\ge0$}   
      \end{cases}
\end{array}
\]

\end{document}
3 F.Pantigny Nov 25 2020 at 18:24

これはのバージョン{NiceArray}ですnicematrix

このパッケージには、二つの鍵を提供cell-space-top-limitし、cell-space-bottom-limit(コマンドに類似\cellspacetoplimitして\cellspacebottomlimitのをcellspace)。

\documentclass[12pt]{article}

\usepackage[a4paper, top = 0.1cm, left = 0.1cm, right = 0.1cm, bottom = 0.1cm, bindingoffset=0cm]{geometry}
\usepackage{mathtools}
\usepackage{nicematrix}

\newcommand{\ROC}{\text{ROC}}

\begin{document}

\NiceMatrixOptions{cell-space-top-limit=3pt,cell-space-bottom-limit=3pt}

$\begin{NiceArray}{@{}c|c|c@{}} F(z) & \ROC(f) & f[.]\\ \Hline \Block{2-1}{\dfrac{z}{z-p}} & |z| > |p| & f[k] = \begin{cases}\hphantom{-}0, \quad &k<0\\\hphantom{-}p^k, \quad &k\ge 0\end{cases}\\ \Hline & 0 < |z| < |p| & f[k] = \begin{cases}-p^k, \quad &k<0\\\hphantom{-}0, \quad &k\ge 0\end{cases}\\ \Hline \Block{2-1}{\dfrac{Az}{z-p} + \dfrac{\overline{A}z}{z-p}\\[4mm] =2z\dfrac{z\text{Re}(A)-\text{Re}(A\overline{p})}{z^2 - 2z\text{Re}(p)+|p|^2}} & |z| > |p| & f[k] = \begin{cases}\hphantom{-}0, & k<0\\\hphantom{-}2|A||p|^k\cos(\Omega k+\varphi), &k\ge 0 \end{cases}\\ \Hline & 0<|z|<|p| & f[k] = \begin{cases}-2|A||p|^k\cos(\Omega k+\varphi), & k<0\\\hphantom{-} 0, &k\ge 0 \end{cases} \end{NiceArray}$

\end{document}

あなたの場合、を使用することには2つの利点がありますnicematrix

  • このコマンド\Blockは、結合されたセルの数学的中心にコンテンツを中央揃えします(のように手動で調整する必要はありません\multirow)。

  • コマンド\Hlineは、ブロック(によって作成された\Block)を除いてルールを描画します\cline。それは。よりも使いやすいです。

いくつかのコンパイルが必要です(nicematrixPGF / Tikzノードを使用するため)。