중앙에 있는 "별표"(별표)를 인쇄하는 더 관용적인 방법은 무엇입니까?

중앙에 있는 "별표"(별표)를 인쇄하는 더 관용적인 방법은 무엇입니까?

출판사에서 "별표"(별표)라고 부르는 것을 인쇄해야 합니다.

아래 코드를 고안했지만 사운드 코드인지, 즉 나중에 다른 명령과 텍스트 스트림 내에서 문제를 일으키지 않을지는 확실하지 않습니다.

특수 문자(이 경우 mathabx's \varstar)를 중앙에 맞추고 위와 아래에 1개의 빈 줄을 인쇄하는 관용적인 방법입니까?

\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내부에그룹. 그런 다음 \(add)vspacewith \baselineskip값을 사용하여 앞뒤에 빈 줄을 추가합니다.

\usepackage{adjustbox,noindentafter}

\newcommand{\starlet}{%
  {% 
    \par
    \addvspace{\baselineskip}%
    \centering
    \adjustbox{raise=1pt}{\aster}%
    \par
    \vspace{\baselineskip}%
  }%
  \NoIndentAfterThis
}

일부 메모

  • \addvspace이전에 이미 공간이 있는지 확인하고 필요한 경우에만 추가합니다. 정의의 \vspace앞에는 공백이 없으므로 법선을 사용할 수 있습니다.
  • \NoIndentAfterThis(needs noindentafter)는 명령 뒤에 들여쓰기를 방지하는 방법입니다. 그룹 외부에 있어야 합니다. (보다특정 환경 이후에 자동 들여쓰기를 위한 안정적인 코드가 있습니까?)
  • \aster줄 중앙에 배치하려면 한 가지 방법은 \adjustbox{raise=1pt}{\aster}(필요 adjustbox)를 사용하는 것이고 다른 방법은 \raisbox{1pt}{\aster}(필요 graphicx)입니다.
  • 이름의 일부로 \makeatletter/other포함된 명령을 사용하지 않으므로 여기서는 쌍이 필요하지 않습니다 .@

단일 선(상자)을 중앙에 배치하려면 with를 값으로 \hspace사용할 수도 있습니다 .\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( 임의의 별표 기호 대신 을 사용해야 한다는 사실을 통합하여 답변이 업데이트되었습니다 .)

나는 높이의 빈 줄을 만드는 관용적 LaTeXy 방법이 를 \baselineskip입력하는 것이라고 가정합니다 \par\null\par. 주어진 기호를 중앙에 설정하려면 TeX "primitive" 명령을 사용할 수 있습니다 \centerline. 아래 코드에서 명령은 두 명령 세트 사이에 \starlet명령을 삽입합니다 . 에 의해 생성된 출력의 총 높이는 정확히 이며 , 제자리에 있을 수 있는 모든 그리드 정렬을 자동으로 유지합니다.\centerline{$\varstar$}\par\null\par\starlet3\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}

관련 정보