类别:扩大接收器块

类别:扩大接收器块

我正在用 LaTeX 写一封信,遗憾的是,我的收件人的机构有点太长,无法保持在同一行。我想扩大收件人的“块”/减少发件人和收件人之间的水平空间。

通常,在此代码中,如何保留机构名称过长,且名称过多在同一条线上?(好吧,真正的机构要小一些)是否可以将接收器块在左侧稍微移动/放大一些?

\documentclass[11pt]{lettre}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{eurosym}
\usepackage[frenchb]{babel}
\usepackage{numprint}

\makeatletter
\newcommand*{\NoRule}{\renewcommand*{\rule@length}{0}}
\makeatother

\begin{document}

\begin{letter}{Mr John Smith\\ Long institution with multiple names that-are-too-long}
\name{Me and Myself}
\address{Me and Myself as an example\\New comer into the institution\\University of Awesomeness\\Research Lab of Scientific Things}
\lieu{Somewhere}
\notelephone
\nofax

\NoRule

\def\concname{Objet :~} % On définit ici la commande 'objet'
\conc{\textbf{A nice object}}
\opening{Mr John Smith,}

Bla.

\closing{See you later,}

\end{letter}

\end{document}

谢谢 :)

答案1

我不知道这是否是一个好主意,因为在信件中这个字段必须适合信封的地址字段。

一种比较粗暴的方法是采用以下方法:不要扩大空间,而是将所有内容放在一个环境中,并使用tabular以下方法告诉 LaTeX 这个环境的宽度:\linewidth\makebox

\documentclass[11pt]{lettre}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{eurosym}
\usepackage[frenchb]{babel}
\usepackage{numprint}

\makeatletter
\newcommand*{\NoRule}{\renewcommand*{\rule@length}{0}}
\makeatother

\begin{document}

\begin{letter}{%
    \makebox[\linewidth][r]{\begin{tabular}[]{@{}l@{}}%
    Mr John Smith\\ Long institution with multiple names that-are-too-long%
  \end{tabular}}}
\name{Me and Myself}
\address{Me and Myself as an example\\New comer into the institution\\University of Awesomeness\\Research Lab of Scientific Things}
\lieu{Somewhere}
\notelephone
\nofax

\NoRule

\def\concname{Objet :~} % On définit ici la commande 'objet'
\conc{\textbf{A nice object}}
\opening{Mr John Smith,}

Bla.

\closing{See you later,}

\end{letter}

\end{document}

在此处输入图片描述

答案2

您可以使用以下命令缩短代码:

\documentclass[11pt]{lettre}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{eurosym}
\usepackage[french]{babel}
\usepackage{numprint}
\usepackage{xpatch}
\makeatletter
\newcommand*{\NoRule}{\renewcommand*{\rule@length}{0}}
\makeatother

\begin{document}

\begin{letter}{Mr John Smith\\\makebox[80mm]{\fbox{Long institution with multiple names that-are-too-long}}}
\name{Me and Myself}
\address{Me and Myself as an example\\New comer into the institution\\University of Awesomeness\\Research Lab of Scientific Things}
\lieu{Somewhere}
\notelephone
\nofax

\NoRule

\def\concname{Objet :~} % On définit ici la commande 'objet'
\conc{\textbf{A nice object}}
\opening{Mr John Smith,}

Bla.

\closing{See you later,}

\end{letter}

\end{document} 

在此处输入图片描述

另一种方法是修改

\def\fromlieu@let@hpos{90}%
\def\toaddress@let@hpos{90}%
\toaddress@let@width=80mm

更改插入点和标题右侧部分的宽度。这些值可以在 中找到letter-default.cfg

如果您不想修改默认值,您可以将这些行写入一个文件中letter-foo.cfg,该文件也可以包含您自己的姓名、地址、位置、电话等,并使用\institut{letter-foo}序言中的命令调用此文件。

相关内容