裁剪 parbox 中的文本对齐

裁剪 parbox 中的文本对齐

我遇到了以下问题:我需要将可变长度的内容放入固定大小的 parbox 中,然后使用 clipbox 命令进行裁剪。并希望内容垂直居中。只要内容适合 parbox,一切就都正常。但如果文本长度超过可用空间,则垂直居中对齐与 clipbox 命令结合会导致我的文本被裁剪。请参见下图。

在此处输入图片描述

这是演示该问题的代码:

\documentclass{scrartcl}

\usepackage{calc}
\usepackage{pstricks}

\begin{document}
    \begin{pspicture}(0,0)(\textwidth,\textheight)
        \newlength{\yPosition}
        \setlength{\yPosition}{\textwidth-5cm}
        \rput[lt](2cm,\yPosition){%
            \fbox{
                \clipbox{%
                    \parbox[t][1cm][c]{5cm}{%
                        short text
                    }%
                }%
            }
        }
        \addtolength{\yPosition}{-2cm}
        \rput[lt](2cm,\yPosition){%
            \fbox{
                \clipbox{%
                    \parbox[t][1cm][c]{5cm}{%
                        % short text
                        long text long text long text long text long text long text long text long text
                    }%
                }%
            }
        }
    \end{pspicture}
\end{document}

所以,我的问题是:如果内容超出大小,是否可以使 parbox 内容顶部对齐;如果内容适合,是否可以居中对齐?

提前致谢

答案1

我使用以下代码让它工作。我将内部 parbox 位置改为顶部,并用 填充文本前后的空间\vspace*{\fill}。这样,短文本垂直居中,长文本顶部对齐并正确裁剪。 在此处输入图片描述

\documentclass{scrartcl}

\usepackage{calc}
\usepackage{pstricks}

\begin{document}
    \begin{pspicture}(0,0)(\textwidth,\textheight)
        \newlength{\yPosition}
        \setlength{\yPosition}{\textwidth-5cm}
        \rput[lt](2cm,\yPosition){%
            \fbox{
                \clipbox{%
                    \parbox[t][1cm][t]{5cm}{%
                        short text
                    }%
                }%
            }
        }
        \addtolength{\yPosition}{-2cm}
        \rput[lt](2cm,\yPosition){%
            \fbox{
                \clipbox{%
                    \parbox[t][1cm][t]{5cm}{%
                        \vspace*{\fill}
                        long text long text long text long text long text long text long text long text
                        \vspace*{\fill}
                    }%
                }%
            }
        }
    \end{pspicture}
\end{document}

相关内容