我正在用 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}
序言中的命令调用此文件。