出版社が「スターレット」(アスタリスク)と呼ぶものを印刷する必要があります。
以下のコードを考案しましたが、それが健全なコードであるかどうか、つまり、後で他のコマンドやテキスト ストリーム内で問題が発生しないかどうかはわかりません。
これは、特殊文字 (この場合は ) を中央に配置し、上下に 1 行の空白行を入れて印刷する慣用的な方法mathabx
ですか\varstar
?
\vgrid
基礎となるグリッドに関して、垂直方向の位置合わせが可能な限り正確に保持されているかどうかを確認するために使用しています。
\documentclass[
DIV=calc,
twoside,
openright,
twocolumn=false,
titlepage,
numbers=noenddot,
headinclude=true,
footinclude=true,
]{scrbook}
\usepackage{kantlipsum}
\usepackage{mathabx}
\newcommand{\aster}{$\varstar$}
\usepackage{vgrid}
\makeatletter
\newcommand{\starlet}{%
\par
\vskip -0.5pt
\noindent
\parbox{\linewidth}{
\begin{center}
\aster
\end{center}
}
\par
\vskip 0.6pt % make it fit the grid
\noindent
}
\makeatother
\begin{document}
\kant[1]
\starlet
\kant[1]
\end{document}
答え1
\centering
の代わりにを使用することをお勧めします。{center}
前者は垂直方向のスペースを追加せず、修正をいじる必要もなく、スペースを正確に制御できます。\centering
文書の一部にのみ を使用する場合は、グループで囲み、つまり で{…}
囲み、\par
その後に を追加しますが、内部グループ。次に、値として with を使用して\(add)vspace
、\baselineskip
前後に空白行を追加します。
\usepackage{adjustbox,noindentafter}
\newcommand{\starlet}{%
{%
\par
\addvspace{\baselineskip}%
\centering
\adjustbox{raise=1pt}{\aster}%
\par
\vspace{\baselineskip}%
}%
\NoIndentAfterThis
}
いくつかのメモ
\addvspace
前に既にスペースがあるかどうかをチェックし、必要な場合にのみ追加します。定義の最後では、\vspace
前にスペースがないため、通常の方法を使用できます。\NoIndentAfterThis
(必要noindentafter
)はコマンドの後のインデントを防ぐ方法です。これはグループの外側になければなりません。(参照特定の環境の後に自動的に \noindent を実行するための信頼できるコードはありますか?)\aster
行の中央揃えをしたい場合、\adjustbox{raise=1pt}{\aster}
(needs ) を使用する方法と、 (needs ) を使用するadjustbox
方法があります。\raisbox{1pt}{\aster}
graphicx
- 名前の一部に を
\makeatletter/other
含むコマンドは使用しないため、ここでのペアは必要ありません。@
単一の行 (ボックス) を中央揃えにするには、値として\hspace
with を使用することもできます。\fill
\newcommand{\starletII}{%
\par
\addvspace{\baselineskip}%
\hspace*{\fill}% without the star space would be ignored it it
% begins/ends a line
\adjustbox{raise=1pt}{$\star$}%
\hspace*{\fill}
\par
\vspace{\baselineskip}%
\NoIndentAfterThis
}
答え2
\varstar
(回答は、任意のアスタリスク記号ではなく、の使用が必須であるという事実を組み込むように更新されました。)
\baselineskip
高さ の空白行を作成するための LaTeXy の慣用的な方法は、 と入力することだと思います\par\null\par
。特定のシンボルを中央揃えにするには、TeX の「プリミティブ」コマンド を使用できます\centerline
。以下のコードでは、 コマンドが\starlet
命令を\centerline{$\varstar$}
2 つの命令セットの間に挟んでいます\par\null\par
。 によって生成される出力の合計の高さは\starlet
であり3\baselineskip
、グリッド配置があれば自動的に保持されます。
\documentclass[twocolumn]{article}
\usepackage{mathabx} % for \varstar symbol
\newcommand\starlet{%
\par\null\par% a blank line of height \baselineskip
\centerline{$\varstar$}% center-set the ask
\par\null\par}% another blank line of height \baselineskip
%% Just for this example:
\setlength\parindent{0pt}
\usepackage[textwidth=2.95in,showframe]{geometry}
\begin{document}
Some meaningless fluff.
Some meaningless fluff.
Some meaningless fluff.
Some meaningless fluff.
Some meaningless fluff.
\newpage % induce a column break
Some meaningless fluff.
\starlet
Some meaningless fluff.
\end{document}