我尝试按照\overset
Werner 在这个问题中的建议进行修改:创建不依赖于 amsmath 包的 \overset 和 \underset 的非数学模式替代品
使用新命令时,我使用了\overset{$*$}{ı}
,但星号太高,增加了行高。我怎样才能像点状 i 一样重叠星号?
在德语中,中性形式中有一个内部 I,例如“TeXnikerIn”技术员代表“TeXnikerin”(女性)或“TeXniker”(男性)。然后有人建议将它与星号组合(“TeXniker*In”),以表示性别酷儿。所以我的想法是使用小写字母 i 和星号代替点作为粘合符号。
答案1
这是“手工制作的带有星号的 i”:
\documentclass{article}
\makeatletter
\newcommand{\asti}{%
\check@mathfonts
\leavevmode
{\ooalign{%
\hidewidth
\raisebox{.8ex}{\fontsize{\ssf@size}{0}\selectfont*}%
\hidewidth\cr
\i\cr
}}%
}
\makeatother
\begin{document}
Here \asti s \asti t.
\LARGE
Here \asti s \asti t.
\end{document}
需要该\check@mathfonts
指令来访问当前字体大小的脚本大小。
答案2
这个包非常简单accents
:
\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage{accents}
\newcommand\astered[1]{\accentset{\ast}{#1}}
\begin{document}
$ \astered{\i}\quad \astered{\imath}$
\boldmath
$ \astered{\i}\quad \astered{\imath}$
\end{document}
答案3
i⃰
或ı⃰
U+20F0 ‘合并上面的星号’我或者无点 i(U+0131),由于您已用 标记了您的问题xetex
,即可以使用大多数 Unicode(如果您有正确的字体,但似乎很少)。
\documentclass{scrartcl}
\usepackage{fontspec,lmodern}
\newcommand\testtext[2][i⃰ / ı⃰]{\noindent{#1 \hfill \textit{#1} \hfill \textbf{#1 \hfill \textit{#1}} \hfill \textsc{#1} \hfill – #2}\par}
\newcommand\testfont[1]{\fontspec{#1}\testtext{#1}}
\begin{document}
\huge
\textup{\testtext{serif}}
\textsf{\testtext{sans-serif}}
\texttt{\testtext{mono}}
\testfont{Linux Libertine O}
\testfont{Linux Biolinum O}
\testfont{XITS}
\testfont{STIXGeneral}
\testfont{Geneva}
\testfont{Georgia}
\end{document}
答案4
使用https://github.com/loveencounterflow/cxltx-styles#cxltx-style-accentbox,你可以简单地编写以下内容:
\documentclass[a4paper,12pt]{book}
\usepackage{cxltx-style-accentbox}
\begin{document}
\textit{Some variations with an asterisk placed above an `i':}
i\upaccent{\tiny *}{\i}i\upaccent{\tiny *}{\i}i\upaccent{\tiny *}{\i}
\textit{i\upaccent{\tiny *}{\i}i\upaccent{\tiny *}{\i}i\upaccent{\tiny *}{\i}}
\end{document}
CXLTX AccentBox 是一个经过深思熟虑实现的AS Berdnikov 设计的模块目前 LaTeX 发行版似乎还没有找到这个功能;不过,安装CXLTX 样式不会造成太大困难。