排版奎因引文的明显方式,也称为类引号,在 LaTeX 中,当引用内容较高时,效果不佳。例如:
\documentclass[12pt]{article}
\usepackage{amssymb}
\begin{document}
\[
\left\ulcorner \frac{1}{2} \right\urcorner
\]
\end{document}
这似乎很奇怪,因为\ulcorner
(resp. \urcorner
) 属于mathopen
(resp. mathclose
) 类。有没有办法让 LaTeX 自动提高引号以匹配内容的高度?
编辑。我忘了说我非常希望有一个可以适用的解决方案unicode-math
。
答案1
为了获得良好的效果\left
,\right
需要在字体级别支持分隔符。例如,MnSymbol
支持可调整大小的角:
\documentclass[12pt]{article}
\usepackage{MnSymbol}
\begin{document}
\[
\left\ulcorner \frac{1}{2} \right\urcorner
\]
\end{document}
但是,加载MnSymbol
也会影响其他数学符号的外观。
下面的例子只使用了MnSymbol的相关部分来获取两个角符号:
\documentclass[12pt]{article}
\makeatletter
\DeclareFontFamily{OMX}{MnSymbolE}{}
\DeclareSymbolFont{MnLargeSymbols}{OMX}{MnSymbolE}{m}{n}
\SetSymbolFont{MnLargeSymbols}{bold}{OMX}{MnSymbolE}{b}{n}
\DeclareFontShape{OMX}{MnSymbolE}{m}{n}{
<-6> MnSymbolE5
<6-7> MnSymbolE6
<7-8> MnSymbolE7
<8-9> MnSymbolE8
<9-10> MnSymbolE9
<10-12> MnSymbolE10
<12-> MnSymbolE12
}{}
\DeclareFontShape{OMX}{MnSymbolE}{b}{n}{
<-6> MnSymbolE-Bold5
<6-7> MnSymbolE-Bold6
<7-8> MnSymbolE-Bold7
<8-9> MnSymbolE-Bold8
<9-10> MnSymbolE-Bold9
<10-12> MnSymbolE-Bold10
<12-> MnSymbolE-Bold12
}{}
\DeclareMathDelimiter{\ulcorner}
{\mathopen}{MnLargeSymbols}{'036}{MnLargeSymbols}{'036}
\DeclareMathDelimiter{\urcorner}
{\mathclose}{MnLargeSymbols}{'043}{MnLargeSymbols}{'043}
\makeatother
\begin{document}
\[
\left\ulcorner \frac{1}{2} \right\urcorner
\]
\end{document}
答案2
我知道这是很久以前的事了,但是如何使用 Sam Buss 的宏来计算哥德尔数呢?参见http://www.logicmatters.net/latex-for-logicians/symbols/corner-quotes-for-godel-numbers/
\documentclass{article}
\usepackage{amssymb}
\newbox\qqBoxA
\newdimen\qqCornerHgt
\setbox\qqBoxA=\hbox{$\ulcorner$}
\global\qqCornerHgt=\ht\qqBoxA
\newdimen\qqArgHgt
\def\Quinequote #1{%
\setbox\qqBoxA=\hbox{$#1$}%
\qqArgHgt=\ht\qqBoxA%
\ifnum \qqArgHgt<\qqCornerHgt \qqArgHgt=0pt%
\else \advance \qqArgHgt by -\qqCornerHgt%
\fi \raise\qqArgHgt\hbox{$\ulcorner$} \box\qqBoxA %
\raise\qqArgHgt\hbox{$\urcorner$}}
\begin{document}
\[
\Quinequote{\frac{1}{2}}
\]
\end{document}
结果是
答案3
该scalerel
包可以拉伸或缩放符号,但这可能不是您想要的。另一方面,如果引号只是移位,其含义是否明确,或者引号是否会被误解为仅适用于分子?(我不知道它们是如何使用的)。否则,如果仅移位是可以接受的,请使用\atop
\documentclass[12pt]{article}
\usepackage{scalerel}
\usepackage{amsmath}
\usepackage{amssymb}
\begin{document}
\[
\stretchleftright{\ulcorner}{\displaystyle\frac{1}{2}}{\urcorner}
\]
\[
\scaleleftright{\ulcorner}{\displaystyle\frac{1}{2}}{\urcorner}
\]
\[
{\ulcorner \atop \phantom{2}} \frac{1}{2} {\urcorner \atop \phantom{2}}
\]
\end{document}
答案4
我的解决方案比较简单,但也比较粗略。
这些符号在tipa
包中显示为重音符号(在文本模式下有效),因此当用作标点符号时,它们的间距有问题,我使用同样有问题的方法对其进行了修改:
\usepackage{tipa}
\newcommand{\lquine}{\textopencorner\hspace{-1pt}}
\newcommand{\rquine}{$\,$\textcorner$\ $}