parbox 大小相等

parbox 大小相等

我使用 pstrick 为我的学士论文制作了一个图表。为此,我定义了一个新变量。

\documentclass[%
    a4paper,            % Papierformat
    oneside,            % einseitiger Druck
    %twoside,           % zweiseitiger Druck
    12pt,               % Schriftgröße
    onecolumn,          % einspaltiger Text
    %twocolumn,         % zweispaltiger Text
    openright,          % Kapitel dürfen nur auf einer rechten Seite beginnen
    openany,            % Kapitel dürfen rechts oder links beginnen
    parskip=half,       % eine halbe Zeile Abstand zw. Absätzen
    headsepline,        % Kopfzeilenlinie
    footsepline,        % Fußzeilenlinie
    bibliography=totoc, % Bibliographie im Inhaltsverzeichnis
    %idxtotoc           % Index im Inhaltsverzeichnis
    ]{scrbook}
\linespread{1.25}
\recalctypearea %Neuberechnung des Satzspiegels

\usepackage{ifxetex}

\ifxetex
    \usepackage{fontspec}
    \usepackage{polyglossia}
    \setmainlanguage{german}
\else
    \usepackage[T1]{fontenc}    
    \usepackage[utf8]{inputenc} 
    \usepackage{lmodern}
    \usepackage[ngerman]{babel}
\fi


\usepackage[
    left=25mm,
    right=25mm,
    top=30mm,
    bottom=40mm,
    %includeheadfoot,
    ]{geometry}

% deutsche Silbentrennung etc.

% Grafiken: PDF, GIF, PNG
\usepackage{graphicx}

\usepackage[pdf]{pstricks}
\usepackage{pstricks,pst-node}

\newcommand\framenode[2]{\Rnode{#1}{\psframebox{\parbox{3cm}{\centering\bfseries#2}}}}

\begin{document}

\begin{figure}[H]
    \begin{psmatrix}[rowsep=1.2, colsep=2, mnode =r]%
        %%% nodes
        \pnode{Beg} & \framenode{A}{Aufnahme und \\ Verarbeitung \\ Kap. \ref{Audiodateien}} & \framenode{B}{Auslesen der \\ Audio \\ Parameter \\ Kap. \ref{snr}} & \framenode{C}{Transformation in Frequenz/- \\ Skalierungs-\\bereich \\ Kap. \ref{Transformation}}\\
        \pnode{End} & \framenode{G}{Vergleich \\ Schwellwert und \\ Energie \\ Kap. \ref{Stand_SAD}} & \framenode{E}{Bestimmung der\\Energie \\ Kap. \ref{Teager Energy Operator}} & \framenode{D}{Signalglättung \\ Kap. \ref{Autokorelation}} \\
        & & \framenode{F}{Bestimmung des \\ Schwellwertes \\ Kap. \ref{Stand_SAD}}
        %%% nodes connections
        \ncline{Beg}{A}\naput[npos=0.6]{Sprache}\nbput[npos=0.6] {Kap. \ref{Sprache_Rausch_Gehör}}
        \ncline{A}{B}^{Audio}
        \ncline{B}{C}^{}
        \ncbar[linearc=0.15, arm =5mm]{C}{D}\naput[labelsep=0.5em, npos=1.5]{}
        \ncline{D}{E}_{}
        \ncline{E}{F}_{}
        \ncline{E}{G}_{}
        \ncline{G}{End}\nbput[npos=0.8]{Sprachdetektion}
    \end{psmatrix}
    \caption{Allgemeine Verarbeitungskette für eine SAD}
    \label{fig:verarbeitungskette}
\end{figure}

\end{document}

结果如下 在此处输入图片描述

我的教授想要一张每个框大小相同的图表。我尝试在 parbox 后添加高度参数,但没有任何变化。我是不是遗漏了什么?

答案1

\parbox有三个可选参数,第一个定义\parbox在基线上的垂直位置,第二个是框的高度,第三个是框内文本的垂直位置。因此要指定高度,还必须指定垂直位置,即

\parbox[c][4cm]{3cm}{\centering\bfseries#2}

代码输出

\documentclass[%
    a4paper,            % Papierformat
    oneside,            % einseitiger Druck
    %twoside,           % zweiseitiger Druck
    12pt,               % Schriftgröße
    onecolumn,          % einspaltiger Text
    %twocolumn,         % zweispaltiger Text
    openright,          % Kapitel dürfen nur auf einer rechten Seite beginnen
    openany,            % Kapitel dürfen rechts oder links beginnen
    parskip=half,       % eine halbe Zeile Abstand zw. Absätzen
    headsepline,        % Kopfzeilenlinie
    footsepline,        % Fußzeilenlinie
    bibliography=totoc, % Bibliographie im Inhaltsverzeichnis
    %idxtotoc           % Index im Inhaltsverzeichnis
    ]{scrbook}
\linespread{1.25}
\recalctypearea %Neuberechnung des Satzspiegels

\usepackage{ifxetex}

\ifxetex
    \usepackage{fontspec}
    \usepackage{polyglossia}
    \setmainlanguage{german}
\else
    \usepackage[T1]{fontenc}    
    \usepackage[utf8]{inputenc} 
    \usepackage{lmodern}
    \usepackage[ngerman]{babel}
\fi


\usepackage[
    left=25mm,
    right=25mm,
    top=30mm,
    bottom=40mm,
    %includeheadfoot,
    ]{geometry}

% deutsche Silbentrennung etc.

% Grafiken: PDF, GIF, PNG
\usepackage{graphicx}

\usepackage[pdf]{pstricks}
\usepackage{pst-node}

\newcommand\framenode[2]{\Rnode{#1}{\psframebox{\parbox[c][4cm]{3cm}{\centering\bfseries#2}}}}

\begin{document}

\begin{figure}
    \begin{psmatrix}[rowsep=1.2, colsep=2, mnode =r]%
        %%% nodes
        \pnode{Beg} & \framenode{A}{Aufnahme und \\ Verarbeitung \\ Kap. \ref{Audiodateien}} & \framenode{B}{Auslesen der \\ Audio \\ Parameter \\ Kap. \ref{snr}} & \framenode{C}{Transformation in Frequenz/- \\ Skalierungs-\\bereich \\ Kap. \ref{Transformation}}\\
        \pnode{End} & \framenode{G}{Vergleich \\ Schwellwert und \\ Energie \\ Kap. \ref{Stand_SAD}} & \framenode{E}{Bestimmung der\\Energie \\ Kap. \ref{Teager Energy Operator}} & \framenode{D}{Signalglättung \\ Kap. \ref{Autokorelation}} \\
        & & \framenode{F}{Bestimmung des \\ Schwellwertes \\ Kap. \ref{Stand_SAD}}
        %%% nodes connections
        \ncline{Beg}{A}\naput[npos=0.6]{Sprache}\nbput[npos=0.6] {Kap. \ref{Sprache_Rausch_Gehör}}
        \ncline{A}{B}^{Audio}
        \ncline{B}{C}^{}
        \ncbar[linearc=0.15, arm =5mm]{C}{D}\naput[labelsep=0.5em, npos=1.5]{}
        \ncline{D}{E}_{}
        \ncline{E}{F}_{}
        \ncline{E}{G}_{}
        \ncline{G}{End}\nbput[npos=0.8]{Sprachdetektion}
    \end{psmatrix}
    \caption{Allgemeine Verarbeitungskette für eine SAD}
    \label{fig:verarbeitungskette}
\end{figure}

\end{document}

相关内容