考虑MWE:
\documentclass[12pt]{article}
\usepackage{stackengine}
\usepackage{lipsum}
\usepackage{graphicx}
\def\asterism{\par\vspace{1em}{\centering\scalebox{1.5}{%
\stackon[-0.5pt]{*}{\stackon[-0.5pt]{\stackon[-0.5pt]{*}{*~*~*}}{*}}}\par}\vspace{.5em}\par}
\begin{document}
\lipsum[3]
\vspace*{20pt}
\asterism
\end{document}
产生输出
我经常使用这个stackengine
包,但仍然遇到一些后勤方面的困难——毫无疑问,是我的错。在这种情况下,虽然我已经制作出了我想要的十字形星群,但我觉得可能有一种更有效的编码方法。
问题:有人可以建议(也许使用stackengine
)一种更简单的方法来编码这个星号吗?
谢谢。
答案1
答案2
由于堆栈行之间的所有基线跳跃都是相同的,因此您只需使用\Longstack
,并将 long-stackgap 设置为所需值,此处为 0.75em。我先展示您的版本,然后展示我的修订版本,以供比较。
\documentclass[12pt]{article}
\usepackage{stackengine}
\usepackage{lipsum}
\usepackage{graphicx}
\def\oldasterism{\par\vspace{1em}{\centering\scalebox{1.5}{%
\stackon[-0.5pt]{*}{\stackon[-0.5pt]{\stackon[-0.5pt]{*}{*~*~*}}{*}}}\par}\vspace{.5em}\par}
\def\asterism{\par\vspace{1em}{\setstackgap{L}{.75em}\centering
\scalebox{1.5}{\Longstack{* *~*~* * *}}\par}\vspace{.5em}\par}
\begin{document}
\lipsum[3]
\vspace*{20pt}
\oldasterism
\asterism
\end{document}
答案3
你可以尝试 Ti钾Z 或以下使用原始对齐的方法。
\documentclass{article}
\usepackage{lipsum}
\newcommand{\asterism}{%
\par\nopagebreak\vspace*{20pt}
\noindent\makebox[\columnwidth]{%
\vbox{%
\offinterlineskip
\tabskip=0.4ex
\halign{%
&##\cr % template
&$*$\cr\noalign{\vskip0.5ex}
$*$&$*$&$*$\cr\noalign{\vskip0.5ex}
&$*$\cr\noalign{\vskip0.5ex}
&$*$\cr
}%
}%
}%
\par\vspace{20pt}
}
\begin{document}
\lipsum[3]
\asterism
\lipsum[4]
\end{document}