![moderncv,经典风格:如何将地址框向右移动?](https://linux22.com/image/351151/moderncv%EF%BC%8C%E7%BB%8F%E5%85%B8%E9%A3%8E%E6%A0%BC%EF%BC%9A%E5%A6%82%E4%BD%95%E5%B0%86%E5%9C%B0%E5%9D%80%E6%A1%86%E5%90%91%E5%8F%B3%E7%A7%BB%E5%8A%A8%EF%BC%9F.png)
我正在使用包的经典样式moderncv
,并且我想将地址框的右边距与所有其他内容的右边距对齐,并摆脱此图中标记的偏移量:
我当然可以使用该geometry
包来完全更改边距,但无论我尝试什么,地址框的右边距与我的 cv 条目的右边距相比都会继续移动。
通过搜索这个论坛,我已经发现我很可能必须重新配置命令\makecvtitle
,但如果没有进一步的帮助,我还不够了解该如何去做...:-/
下面是用于生成附图的最小示例(为了清晰起见,垂直线是手动绘制的):
\documentclass[11pt,a4paper,sans]{moderncv}
\moderncvstyle{classic}
\moderncvcolor{blue}
\usepackage[utf8]{inputenc}
%%%% adjust the page margins
\usepackage[scale=0.78, top=2.5cm, bottom=2.5cm, footskip=1cm]{geometry}
% personal data
\name{My}{Name}
\title{My title}
\address{Street}{City}{Country}
\phone[mobile]{1234567890}
\email{[email protected]}
\usepackage{eurosym}
\begin{document}
\makecvtitle
\section{Education}
\cventry{from -- to}{Student}{This is a very long description of my education and what I have done with the only purpose to completely fill up the lane}{}{}{}
\end{document}
答案1
CV 标题的构造(在内部完成\makecvhead
)将其大部分内容存储在框中:
\makecvheaddetailsbox
: 地址信息\makecvheadpicturebox
:图片(如有提供)\makecvheadnamebox
:姓名和职务
的构造\makecvheaddetailbox
有一个虚假空格,它位于tabular
包含地址的右侧 - 这是包中的一个错误。通常,如果不复制整个宏并%
在需要的地方插入相应的空格,虚假空格很难删除。但是,在这种情况下,我们可以在后面插入一个非参数宏\end{tabular}
:
\documentclass[sans]{moderncv}
\moderncvstyle{classic}
\moderncvcolor{blue}
% personal data
\name{My}{Name}
\title{My title}
\address{Street}{City}{Country}
\phone[mobile]{1234567890}
\email{[email protected]}
\usepackage{etoolbox}
% \patchcmd{<cmd>}{<search>}{<replace>}{<success>}{<failure>}
\patchcmd{\makecvhead}{\end{tabular}}{\end{tabular}\relax}{}{}
\begin{document}
\makecvtitle
\section{Education}
\cventry{from -- to}{Student}{This is a very long description of my education and
what I have done with the only purpose to completely fill up the lane}{}{}{}
\end{document}