同时将符号置于基线上方和下方

同时将符号置于基线上方和下方

我试图实现的是标记文本中两个先前版本的分页符。基本上,版本 A 在顶部有一个小角,版本 B 在下方有一个小角。除了字体大小外,这种方法都有效——如果字体大小发生变化,符号大小也会发生变化,但这是不应该的。

然后另一个问题就出现了:如果字体大小固定,我就不能再使用,\lcorners只能改为\overset和了\underset,我想。但如何正确定位它们,使它们水平对齐呢?

\documentclass{scrbook}
\usepackage{amsmath}
\usepackage{mathabx}
\usepackage{etoolbox}
\usepackage{ifthen}

\newcommand{\pb}[1]{\ifstrequal{#1}{A}
    {$\textstyle\ulcorner\kern-.1em$}
    {\ifstrequal{#1}{B}
        {$\textstyle\llcorner\kern-.1em$}
    {$\textstyle\lcorners\kern-.1em$}}}

\begin{document}


\Large \pb{A}Test \pb{B}Test

\normalsize \pb{A}Test \pb{B}Test

And now both of them together:

\Large \pb{AB}Test

\normalsize \pb{AB}Test


\end{document}

有任何想法吗?

答案1

我使用 来解决尺寸问题\normalsize;首先将上角降低到基线,然后将其升高到大写字母的高度加上 2pt。通过将上角叠印在下角上,可以获得双角。

\documentclass{scrbook}
\usepackage{amsmath}
\usepackage{mathabx}

\newcommand{\pb}[1]{\csname pb#1\endcsname}
\newcommand{\pbA}{%
  \raisebox{\Theight}{\raisebox{-\height}{\normalsize$\ulcorner$}}%
}
\newcommand{\pbB}{{\normalsize$\llcorner$}}
\newcommand{\pbAB}{\makebox[0pt][l]{\pbB}\pbA}
\newcommand{\Theight}{\dimexpr\fontcharht\font`T+2pt}

\begin{document}


\Large \pb{A}Test \pb{B}Test

\normalsize \pb{A}Test \pb{B}Test

And now both of them together:

\Large \pb{AB}Test

\normalsize \pb{AB}Test

\end{document}

在此处输入图片描述

相关内容