나는 moderncv용 템플릿을 사용하고 있는데 줄 끝의 점을 제거하고 싶습니다 \cventry
. 누군가 명령을 다시 코딩해 줄 수 있습니까?
\documentclass[11pt,a4paper,sans]{moderncv}
\moderncvstyle{casual}
\name{John}{Doe}
\begin{document}
\makecvtitle
\section{Education}
\cventry{1990--2015}{Wisdom}{School of life}{Earth}{}{Description}
\end{document}
답변1
이를 변경하려면 \cventry
정의 방법을 변경해야 합니다.
\cventry
다음과 같이 정의됩니다.
\renewcommand*{\cventry}[7][.25em]{%
\savebox{\cventryyearbox}{%
\hspace*{2\separatorcolumnwidth}%
\hintstyle{#2}}%
\setlength{\cventrytitleboxwidth}{\widthof{\usebox{\cventryyearbox}}}%
\setlength{\cventrytitleboxwidth}{\maincolumnwidth-\cventrytitleboxwidth}%
\begin{minipage}{\maincolumnwidth}%
\parbox[t]{\cventrytitleboxwidth}{%
\strut%
{\bfseries#3}%
\ifthenelse{\equal{#4}{}}{}{, {\slshape#4}}%
\ifthenelse{\equal{#5}{}}{}{, #5}%
\ifthenelse{\equal{#6}{}}{}{, #6}%
.\strut}%
\usebox{\cventryyearbox}%
\end{minipage}%
\ifx&%
\else{%
\newline{}%
\begin{minipage}[t]{\maincolumnwidth}%
\small%
#7%
\end{minipage}}\fi%
\par\addvspace{#1}}
패키지를 이용하시면 됩니다xpatch
문서의 서문에서 이 명령을 패치합니다. 위의 정의를 보면 변경해야 할 해당 항목이 이라고 적힌 줄임을 알 수 있습니다 .\strut}%
.
xpatch
명령을 제공합니다 \xpatchcmd
. 명령 구문은 다음과 같습니다.
\xpatchcmd{⟨command⟩}{⟨search⟩}{⟨replace⟩}{⟨success⟩}{⟨failure⟩}
MWE
\documentclass{moderncv}
\moderncvstyle{casual}
\name{John}{Doe}
\usepackage{xpatch}
\xpatchcmd{\cventry}{.\strut}{\strut}{}{}
\begin{document}
\makecvtitle
\section{Education}
\cventry{1990--2015}{Wisdom}{School of life}{Earth}{}{Description}
\end{document}
답변2
이것은 나에게도 효과적입니다.
\usepackage{xpatch}
\xpatchcmd\cventry{.}{}{}{}
답변3
참고로 @AdamLiter의 답변부터 시작하여 중고를 고려해야 합니다 \moderncvstyle
. 예를 들어, 를 사용하여 \moderncvstyle{casual}
파일 moderncvstylecasual.sty
(다음 위치에 있음) 내부를 읽습니다.'/texmf-dist/tex/latex/moderncv', 고려하면TeXlive 2019\moderncvbody{1}
), 이는 을 의미함을 알 수 있습니다 moderncvbodyi.sty
. 따라서 이 마지막 항목 내에서 의 정의를 취할 수 있습니다 \cventry
. 이 경우에는 다음과 같습니다.
\renewcommand*{\cventry}[7][.25em]{%
\cvitem[#1]{#2}{%
{\bfseries#3}%
\ifthenelse{\equal{#4}{}}{}{, {\slshape#4}}%
\ifthenelse{\equal{#5}{}}{}{, #5}%
\ifthenelse{\equal{#6}{}}{}{, #6}%
.\strut%
\ifx&%
\else{\newline{}\begin{minipage}[t]{\linewidth}\small#7\end{minipage}}\fi}}
tex
이제 파일 에서 로 preamble
변경하여 복사할 수 있습니다 . 이 파일에 다른 이름을 지정하는 것이 좋습니다..\strut%
\strut%
새 명령(예를 들어 \cventrynofinaldotcasual
) 원본을 덮어쓰지 않고 이것을 사용하려면관습 \cventry
필요할 때만 다음과 같이 하면 됩니다:
\newcommand*{\cventrynofinaldotcasual}[7][.25em]{% ROW CHANGED: NOTE '\newcommand', NOT '\renewcommand'!
\cvitem[#1]{#2}{%
{\bfseries#3}%
\ifthenelse{\equal{#4}{}}{}{, {\slshape#4}}%
\ifthenelse{\equal{#5}{}}{}{, #5}%
\ifthenelse{\equal{#6}{}}{}{, #6}%
\strut% ROW CHANGED!
\ifx&%
\else{\newline{}\begin{minipage}[t]{\linewidth}\small#7\end{minipage}}\fi}}
이제 다음과 같이 파일 body
에서 새 명령을 사용할 수 있습니다 .tex
\cventrynofinaldotcasual[spacing]{years}{degree/job title}{institution/employer}{localization}{optional: grade/...}{optional: comment/job description} % OUTPUT WITHOUT FINAL DOT!