形式为 ----------{TEX}---------- 的新命令

形式为 ----------{TEX}---------- 的新命令

是否可以创建形式为 ----------{TEX}---------- 的新命令?

例如,我想要类似的内容\nc{TEX},在行中间产生“TEX”,其余部分用“-”填充。

\nc{TEX}-> ----TEX----

答案1

如果您想要更多的灵活性,您可以使用tikz

在此处输入图片描述

代码:

\documentclass{article}
\usepackage{xcolor}
\usepackage{tikz}
\usetikzlibrary{calc}

\newcommand{\nc}[2][]{%
\tikz \draw [draw=black, ultra thick, #1]
    ($(current page.center)-(0.5\linewidth,0)$) -- 
    ($(current page.center)+(0.5\linewidth,0)$)
    node [midway, fill=white] {#2};
}

\begin{document}

\nc{\TeX}

\nc[dashed]{\TeX}

\bigskip

\nc[draw=red]{$\displaystyle\sum_{i=0}^n i^2=\frac{1}{3}n\left(n+\frac{1}{2}\right)(n+1)$}

\nc[draw=blue, dotted]{$\displaystyle\sum_{i=0}^n i^2=\frac{1}{3}n\left(n+\frac{1}{2}\right)(n+1)$}

\end{document}

答案2

使用此宏,规则会根据材料的大小自动垂直居中。可选参数用于规则厚度(默认为 0.4pt,规则的标准大小)。

\documentclass{article}

\newcommand{\nc}[2][0.4pt]{%
  \sbox0{#1}%
  \par\noindent
  \makebox[\textwidth]{%
    \leaders\hrule height\dimexpr(\ht0-\dp0)/2+(#1)/2\relax
                   depth-\dimexpr(\ht0-\dp0)/2-(#1)/2\relax
    \hfill
    \ #2\ %
    \leaders\hrule height\dimexpr(\ht0-\dp0)/2+(#1)/2\relax
                   depth-\dimexpr(\ht0-\dp0)/2-(#1)/2\relax
    \hfill
  }%
  \par
}

\begin{document}

\nc{\TeX}

\bigskip

\nc[1pt]{$\displaystyle\sum_{i=0}^n i^2=\frac{1}{3}n\left(n+\frac{1}{2}\right)(n+1)$}

\end{document}

在此处输入图片描述

答案3

可选参数允许\NC您控制规则的粗细:

\documentclass{article}%
\usepackage{xhfill}

\newcommand\NC[2][0.4pt]{%
  \noindent\xrfill[0.65ex]{#1}~{#2}~\xrfill[0.65ex]{#1}}

\begin{document}

\NC{\TeX}

\NC[1pt]{\TeX}

\NC{Some other text}

\NC[1pt]{Some other text}

\end{document}

在此处输入图片描述

答案4

以免您想要破折号(或不想要):

\documentclass{article}

\usepackage{calc, dashrule}

\newcommand*{\nc}[1]{%
  \par\noindent\hrulefill#1\hrulefill\par}
\newlength{\mcw}
\newlength{\mcwidth}
\newcommand*{\mc}[1]{%
  \settowidth{\mcw}{#1}%
  \setlength{\mcwidth}{.5\textwidth-.5\mcw}%
  \par\noindent\rule[.5ex]{\mcwidth}{.4pt}#1\rule[.5ex]{\mcwidth}{.4pt}\par}
\newcommand*{\qc}[1]{%
  \settowidth{\mcw}{#1}%
  \setlength{\mcwidth}{.5\textwidth-.5\mcw}%
  \par\noindent\hdashrule[.5ex][x]{\mcwidth}{.4pt}{2mm 1pt}#1\hdashrule[.5ex][x]{\mcwidth}{.4pt}{2mm 1pt}\par}

\begin{document}

\nc{TEX}
\mc{TEX}
\qc{TEX}

\end{document}

对于基线、中线和虚线规则:

低线、中线、虚线

相关内容