![同时将符号置于基线上方和下方](https://linux22.com/image/317863/%E5%90%8C%E6%97%B6%E5%B0%86%E7%AC%A6%E5%8F%B7%E7%BD%AE%E4%BA%8E%E5%9F%BA%E7%BA%BF%E4%B8%8A%E6%96%B9%E5%92%8C%E4%B8%8B%E6%96%B9.png)
我试图实现的是标记文本中两个先前版本的分页符。基本上,版本 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}