ModernCV 的 \quote 部分存在问题。
\quote{\raggedright \lipsum[2]}
虽然上面的结果正是我想要的,但任何试图替代
\lipsum[2]
与其他文本一起导致文本无法按我希望的方式对齐。
这让我很困惑,因为常规的引用如下
\quote{Text}
提前致谢
此外,这里是完整的文档:
\documentclass[11pt,a4paper,roman]{moderncv/moderncv}
\renewcommand*{\listitemsymbol}{\itemsep-2em \labelitemi~}
% moderncv themes
\moderncvstyle{classic}
\moderncvcolor{blue}
\usepackage[utf8]{inputenc}
\usepackage[scale=0.9]{geometry}
\usepackage{pdfpages/pdfpages}
\usepackage{moderntimeline/moderntimeline}
\tlmaxdates{2005}{2016}
\usepackage{lipsum}
\usepackage{xpatch/xpatch}
\xpatchcmd{\cvitem}{#3}{\small #3}{}{}
\xpatchcmd\makecvtitle{\quotewidth}{0.9\textwidth}{}{}
\usepackage{xcolor}
\usepackage[url=false,
backend=biber,
style=authoryear,
doi=false,
isbn=false,
backref=false,
dashed=false,
maxnames=99,
sorting=ydnt]{biblatex}
\addbibresource{cvreferences.bib}
\input{biblatex_modifications/standard_modification.tex}
\newcommand{\cvreferencecolumn}[2]{%
\cvitem[0.75em]{}{%
\begin{minipage}[t]{\listdoubleitemmaincolumnwidth}#1\end{minipage}%
\hfill%
\begin{minipage}[t]{\listdoubleitemmaincolumnwidth}#2\end{minipage}%
}%
}
\newcommand{\cvreference}[8]{%
\textbf{#1}\newline% Name
\ifthenelse{\equal{#2}{}}{}{\addresssymbol~#2\newline}%
\ifthenelse{\equal{#3}{}}{}{#3\newline}%
\ifthenelse{\equal{#4}{}}{}{#4\newline}%
\ifthenelse{\equal{#5}{}}{}{#5\newline}%
\ifthenelse{\equal{#6}{}}{}{\emailsymbol~\texttt{\href{mailto:#6}{\nolinkurl{#6}}}\newline}%
\ifthenelse{\equal{#7}{}}{}{\phonesymbol~#7\newline}
\ifthenelse{\equal{#8}{}}{}{\mobilephonesymbol~#8}}
\name{Name}{Name}
\address{Address}{Address}
\phone[mobile]{+00000000000}
\email{[email protected]}
\quote{\raggedright Text text text Text text text Text text text Text text text Text text text Text text text Text text text Text text text Text text text Text text text Text text text Text text text Text text text }
\begin{document}
\makecvtitle
\end{document}
答案1
当你使用
\usepackage{lipsum}
并放置一个\lipsum
,它固有地添加\par
到末尾乱数。这\par
将强制按照已设置的段落对齐方式设置段落。因此,
\quote{\raggedright \lipsum[2]}
会形成一种\raggedright
时尚。然而,使用
\quote{\raggedright <some lengthy text>}
\raggedright
如果没有强制启动,则可能无法设置\par
。如果您使用了\usepackage[nopar]{lipsum}
其他方法,则可能会遇到类似的问题。为了保证这一点,请使用
\quote{\raggedright <some lengthy text>\endgraf}
使用\endgraf
可以避免 当前的非\long
定义\quote
。
答案2
将此添加到你的序言中
\makeatletter
\xpatchcmd{\makecvtitle}
{\centering\begin{minipage}{\quotewidth}\centering\quotestyle{\@quote}\end{minipage}\\[2.5em]}
{\centering\begin{minipage}{\quotewidth}\raggedright\quotestyle{\@quote}\end{minipage}\\[2.5em]}%
{}{}
\makeatletter
\xpatchcmd\makecvtitle{\quotewidth}{0.9\textwidth}{}{} %% this should be done here (after removing \centering)
代码:
\documentclass[11pt,a4paper,roman]{moderncv/moderncv}
\renewcommand*{\listitemsymbol}{\itemsep-2em \labelitemi~}
% moderncv themes
\moderncvstyle{classic}
\moderncvcolor{blue}
\usepackage[utf8]{inputenc}
\usepackage[scale=0.9]{geometry}
\usepackage{pdfpages/pdfpages}
\usepackage{moderntimeline/moderntimeline}
\tlmaxdates{2005}{2016}
\usepackage{lipsum}
\usepackage{xpatch}
\makeatletter
\xpatchcmd{\makecvtitle}
{\centering\begin{minipage}{\quotewidth}\centering\quotestyle{\@quote}\end{minipage}\\[2.5em]}
{\centering\begin{minipage}{\quotewidth}\raggedright\quotestyle{\@quote}\end{minipage}\\[2.5em]}%
{}{}
\makeatletter
\xpatchcmd\makecvtitle{\quotewidth}{0.9\textwidth}{}{}
\usepackage{xcolor}
\name{Name}{Name}
\address{Address}{Address}
\phone[mobile]{+00000000000}
\email{[email protected]}
\quote{Text text text Text text text Text text text Text text text Text text text Text text text Text text text Text text text Text text text Text text text Text text text Text text text Text text text }
\begin{document}
\makecvtitle
\end{document}
删除并添加后\makecvtitle
,请记住修补。\quotewidth
\centering
\raggedright
答案3
实际上,这非常简单。该\quote
命令只是将文本存储在 中\@quote
;打印此文本时,它会作为参数传递给\quotestyle
,默认情况下定义为
\newcommand*{\quotestyle}[1]{{\quotefont#1}}
因此,您需要做的就是将此宏重新定义为
\renewcommand{\quotestyle}[1]{{\quotefont\raggedright#1\par}}
你的引用将会被扭曲:
\documentclass[11pt,a4paper,roman]{moderncv}
\renewcommand*{\listitemsymbol}{\itemsep-2em \labelitemi~}
% moderncv themes
\moderncvstyle{classic}
\moderncvcolor{blue}
\usepackage{lipsum}
\renewcommand{\quotestyle}[1]{{\quotefont\raggedright #1\par}}
\name{Name}{Name}
\address{Address}{Address}
\phone[mobile]{+00000000000}
\email{[email protected]}
\quote{\lipsum*[2]}
\begin{document}
\makecvtitle
\end{document}
(我删除了不必要的部分。)