如何在这段代码块内设置行间切换?

如何在这段代码块内设置行间切换?

有此代码可生成一个除外部分:

\RequirePackage[absolute,overlay]{textpos}
\setlength{\TPHorizModule}{1cm}
\setlength{\TPVertModule}{1cm}
\newenvironment{aside}{%
  \let\oldsection\section
  \renewcommand{\section}[1]{
    \par\vspace{\baselineskip}{\Large\headingfont\color{headercolor} ##1}
  }
  \begin{textblock}{3.6}(1.5, 4.33)
  \begin{flushright}
  \obeycr
}{%
  \restorecr
  \end{flushright}
  \end{textblock}
  \let\section\oldsection
}

效果很好,但我想增加aside部分内文本的行距......

尝试在\obeycr命令后插入此行:

\par\vspace{.25\parskip}%

但要更改部分之间的行间aside,而不是部分内的文本行。

这是 .tex 源代码

\begin{aside}
  \section{info}
    Homer J. Simpson
    123 Fake Street
    Springfield, NJ 08105-442
    555-966-5786
    \href{mailto:[email protected]}{[email protected]}
\end{aside}

这是输出

我需要增加地址和电话号码之间以及电话号码和电子邮件链接之间的内联。

答案1

TeX 无法知道您想要在电话号码或电子邮件地址前添加空格,也无法知道某些字符构成电话号码或电子邮件地址。因此,您要么使用明确的空格命令,要么以某种方式标记输入:

\documentclass[a4paper]{article}
\usepackage{color}
\usepackage[absolute,overlay]{textpos}
\usepackage{hyperref}

\setlength{\TPHorizModule}{1cm}
\setlength{\TPVertModule}{1cm}
\newenvironment{aside}{%
  \begin{textblock}{3.6}(1.5, 4.33)
  \begin{flushright}
  \obeycr
}{%
  \restorecr
  \end{flushright}%
  \end{textblock}%
}
\providecommand\headingfont{} % I don't know what you want to define it
\definecolor{headercolor}{rgb}{0,0,1} % I don't know what's your favorite color

\newcommand{\tel}[1]{\addvspace{1ex}#1}
\newcommand{\email}[1]{\addvspace{1ex}\href{mailto:#1}{#1}}

\newcommand{\asidesection}[1]{%
  \par\vspace{\baselineskip}{\Large\headingfont\color{headercolor} #1}%
}


\begin{document}
\begin{aside}
  \asidesection{info}
    Homer J. Simpson
    123 Fake Street
    Springfield, NJ 08105-442
    \tel{555-966-5786}
    \email{[email protected]}
\end{aside}
\end{document}

请注意,我使用了不同的命令来表示标题,因为我绝不会\section为此目的重新定义。不过,这只是个人喜好问题。请注意\let\oldsection\section\let\section\oldsection是多余的,因为您的重新定义发生在形成组的环境中。

如果您的aside环境都有标题,则可以使用不同的策略:

\newenvironment{aside}[1]{%
  \begin{textblock}{3.6}(1.5, 4.33)
  \begin{flushright}
  \obeycr
  \par\vspace{\baselineskip}{\Large\headingfont\color{headercolor}#1}%
}{%
  \restorecr
  \end{flushright}%
  \end{textblock}%
}

你的环境将是

\begin{aside}{info}
    Homer J. Simpson
    123 Fake Street
    Springfield, NJ 08105-442
    \tel{555-966-5786}
    \email{[email protected]}
\end{aside}

在此处输入图片描述

答案2

如果这是一个可以接受的选择,我相信你可以手动完成:

在此处输入图片描述

其中可以用或等\par\medskip代替。\par\smallskip\\[3pt]

\documentclass{article}
\usepackage[absolute,overlay]{textpos}
\usepackage{hyperref}
\usepackage{xcolor}
\setlength{\TPHorizModule}{1cm}
\setlength{\TPVertModule}{1cm}
\newenvironment{aside}{%
  \let\oldsection\section
  \renewcommand{\section}[1]{
    \par\vspace{\baselineskip}{\Large\color{blue} ##1}
  }
  \begin{textblock}{3.6}(1.5, 4.33)
  \begin{flushright}
}{%
  \end{flushright}
  \end{textblock}
  \let\section\oldsection
}

\begin{document}

\begin{aside}
  \section{info}\par
    Homer J. Simpson\par
    123 Fake Street\par
    Springfield, NJ 08105-442\par\medskip
    555-966-5786\par\medskip
    \href{mailto:[email protected]}{[email protected]}
\end{aside}

\end{document}

相关内容