我想制作一个看起来像unicode右下三角形U+25FF
但具有与符号相同的大小和线条粗细的\qed
符号。
如果我调整 unicode 符号的大小,\resizebox
线条粗细就不会相同,所以我需要一个新的符号。我不知道怎么做。
答案1
我们amsthm.sty
发现
% amsthm.sty, line 422:
\newcommand{\openbox}{\leavevmode
\hbox to.77778em{%
\hfil\vrule
\vbox to.675em{\hrule width.6em\vfil\hrule}%
\vrule\hfil}}
% amsthm.sty, line 430:
\providecommand{\qedsymbol}{\openbox}
所以我们想根据这些尺寸建立一个三角形。
\documentclass{article}
\usepackage{amsmath,amsthm,pict2e}
\usepackage{color} % for the comparison
\newcommand{\opentriangle}{%
\raisebox{0.2pt}{\makebox[0.77778em]{%
\setlength{\unitlength}{0.6em}%
\linethickness{0.4pt}%
\begin{picture}(1,1)
\polygon(0,0)(1,0)(1,1)
\end{picture}%
}}%
}
\renewcommand{\qedsymbol}{\opentriangle}
\begin{document}
First a comparison:
\openbox\opentriangle\quad
\makebox[0pt][l]{\openbox}\textcolor{red}{\opentriangle}\quad
\makebox[0pt][l]{\opentriangle}\textcolor{red}{\openbox}
\begin{proof}
The two symbols are not exactly one half of the other,
but the difference can't be noticed if they aren't
superimposed on each other.
\end{proof}
\end{document}
根据主文档字体,您可能更喜欢圆形连接:
只需将代码改为
\newcommand{\opentriangle}{%
\raisebox{0.2pt}{\makebox[0.77778em]{%
\setlength{\unitlength}{0.6em}%
\linethickness{0.4pt}\roundjoin
\begin{picture}(1,1)
\polygon(0,0)(1,0)(1,1)
\end{picture}%
}}%
}
答案2
如果您可以自由使用stix
数学字体包,那么您可以使用它的\lrtriangle
“右下三角形”的简写——宏。该包\square
和\lrtriangle
宏生成具有相同大小和线条粗细的符号。
为了制作\lrtriangle
QED 符号,可以加载阿姆斯特丹或者定理打包并执行\renewcommand\qedsymbol{\lrtriangle}
。
\documentclass{article}
\usepackage{stix,color}
\begin{document}
$\square \lrtriangle$
% same horizontal and vertical dim., same line thickness:
$\square\color{red}\kern-9.1pt\lrtriangle$
\end{document}