让自己走上正轨

让自己走上正轨

我正在尝试定义一个类似于的新命令

\newcommand {\mainv} {\par\noindent\hspace*{0pt}\ignorespaces}

但是,我想要一些负的前面垂直空间。我知道这会\vspace在文本后添加垂直空间。是否有类似的命令可以在文本前添加垂直空间?

提供以下输出的命令是:

\main {This text is written using command main}
\mainv {This text is written using command mainv}

其中\main定义为

\newcommand {\main} {\par\noindent\hspace*{0pt}\ignorespaces}

MS Word 中的以下图片显示了我正在寻找的内容:

答案1

像这样吗?

\documentclass{article}

\newcommand\main{\par\noindent\hspace*{0pt}\ignorespaces}
\newcommand\mainV{\vspace{-10pt}\main}

\begin{document}

\main Some text
\main Some text
\main Some text
\mainV some other, overlapping text
\end{document}

上述代码的输出

答案2

我不完全清楚您想要实现什么以及为什么要重叠线条,所以我会坚持这个问题“是否有一个命令可以在文本行前添加垂直空间?”。

pdfTeX 引擎有一个\vadjust pre原语,可以方便地用于此目的。请参阅以下 MWE。

% My standard header for TeX.SX answers:
\documentclass[a4paper]{article} % To avoid confusion, let us explicitly 
                                 % declare the paper format.

\usepackage[T1]{fontenc}         % Not always necessary, but recommended.
% End of standard header.  What follows pertains to the problem at hand.

\makeatletter

\newcommand*\vspacebeforeline[1]{%
    \ifvmode % if in vertical mode, act as "\vspace{#1}"
        \vskip #1
        \vskip \z@skip
    \else
        \@bsphack
        \vadjust pre {%
            \@restorepar
            \vskip #1
            \vskip \z@skip
        }%
        \@esphack
    \fi
}

\makeatother




\begin{document}

Here is some nonsensical text, written for the sole purpose of filling up at
least one line.  Well, after all I~think that two lines would be even better.
And now, we use our new command exactly here\vspacebeforeline{18pt plus 6pt 
minus 6pt}, followed by a few other words to end the test.

\vspacebeforeline{3pt}

It can be used in vertical mode, too.

\end{document}

这是它产生的输出:

代码输出

答案3

除非您尝试重叠线条,否则我猜您正在寻找变量\baselineskip\baselinestretch?但您可能不想直接更改这些变量,因为其他宏会根据它们进行缩放。

\baselineskip:告诉 TeX 基线之间距离的参数。

或者\linespread

例如,为下一次字体更改设置线条扩展:\linespread{1.5}\selectfont

否则,是的,只需操纵垂直框周围的空间,\vspace{<natural height> plus <stretching> minus <shrinking>}这就是你的工具。

让自己走上正轨

相关内容