이 명령을 다시 작성하도록 도와주세요.

이 명령을 다시 작성하도록 도와주세요.

그래서 저는 TeX을 처음 접했고, 방금 github에서 찾은 이력서 템플릿을 사용하기 시작했습니다. 해당 템플릿 내에는 환경이 "cventries"이고 명령이 "cventry"인 클래스 파일이 있습니다.

\newcommand*{\cventry}[5]{
  \setlength\tabcolsep{0pt}
  \setlength{\extrarowheight}{0pt}
  \begin{tabular*}{\textwidth}{@{\extracolsep{\fill}} L{12.5cm} R{4.5cm}}
    \ifempty{#2#3}
      {\entrypositionstyle{#1} & \entrydatestyle{#4} \\}
      {\entrytitlestyle{#2} & \entrylocationstyle{#3} \\
      \entrypositionstyle{#1} & \entrydatestyle{#4} \\}
    \multicolumn{2}{L{17cm}}{\descriptionstyle{#5}} \\
  \end{tabular*}
}

이제 이것은 본질적으로 다음과 같이 화면에 렌더링됩니다.

 Title                                Location                           
 Position                             Date 
 Description

하지만 위치나 날짜 필드를 채우지 않을 때마다 다음과 같이 렌더링하고 싶습니다.

 Title                                Date
 Description

그래서 간단히 말해서, 이 일이 일어나도록 하려면 다른 명령을 만들어야 하는지 아니면 \ifempty 콤보를 사용해야 하는지 궁금합니다. 도움을 주셔서 미리 감사드립니다.

아, 그리고 제 질문에 답하기 위해 추가적인 맥락이 필요하시다면,여기 전체 클래스 파일이 있습니다

답변1

코드 조각만 제공하면 정의되지 않은 모든 명령이 무엇을 의미할지 상상해야 하기 때문에 어렵습니다.

먼저 위치 또는 경우 대체 형식을 원한다는 질문에 오타가 있다고 가정했습니다.위치결석했습니다 (날짜가 없으면 왜 날짜를 원하겠습니까).

그런 다음 명령이 단지 텍스트 스타일일 뿐이라고 가정했습니다 \Xstyle. 이는 꽤 안전한 가정입니다.

나는 또한 에 대한 합리적인 정의를 가정했지만 \ifempty, 그것은 여러분의 수업이 가정하는 것과 다를 수도 있습니다.

L마지막으로 및 R열이 정의되지 않았기 때문에 테이블의 형식을 수정해야 했습니다 . 이 경우 해당 열 유형을 p. 실제로 수정 사항을 구현할 때 원래대로 다시 변경해야 합니다.

코드에 제목이 있는 경우 이미 테스트가 있었습니다.그리고위치가 없기 때문에 위치가 비어 있는 경우, 그렇지 않은 경우 위치가 비어 있는 경우 두 개의 추가 테스트를 중첩했습니다. 질문에 다음이 지정되었으므로 이렇게 했습니다.또는누락된 필드에 대한 조건이 아니라그리고상태.

다음은 MWE입니다.

\documentclass{article}
\usepackage{array}
\def\entrypositionstyle#1{\textit{#1}}
\def\entrytitlestyle#1{\textbf{#1}}
\def\entrylocationstyle#1{\textit{\textbf{#1}}}
\def\entrydatestyle#1{\textsc{#1}}
\def\descriptionstyle#1{\textup{#1}}
\def\ifempty#1#2#3{\ifx\relax#1\relax#2\else#3\fi}

\newcommand*{\cventry}[5]{
  \setlength\tabcolsep{0pt}
  \setlength{\extrarowheight}{0pt}
%  \begin{tabular*}{\textwidth}{@{\extracolsep{\fill}} L{12.5cm} R{4.5cm}}
  \begin{tabular*}{\textwidth}{@{\extracolsep{\fill}} p{12.5cm} p{4.5cm}}
    \ifempty{#2#3}
      {\entrypositionstyle{#1} & \entrydatestyle{#4} \\}% WHEN TITLE & LOCATION EMPTY
      {%
        \ifempty{#1}{\entrytitlestyle{#2} & \entrydatestyle{#4} \\}% WHEN POSITION EMPTY
        {%
          \ifempty{#3}{\entrytitlestyle{#2} & \entrydatestyle{#4} \\}% WHEN LOC EMPTY
          {%
            \entrytitlestyle{#2} & \entrylocationstyle{#3} \\
            \entrypositionstyle{#1} & \entrydatestyle{#4} \\%
          }
        }
      }
%    \multicolumn{2}{L{17cm}}{\descriptionstyle{#5}} \\
    \multicolumn{2}{p{17cm}}{\descriptionstyle{#5}} \\
  \end{tabular*}
}
\begin{document}
\cventry{position}{title}{location}{date}{description}
\par\hrulefill\par
\cventry{position}{}{}{date}{description}
\par\hrulefill\par
\cventry{}{title}{location}{date}{description}
\par\hrulefill\par
\cventry{position}{title}{}{date}{description}
\end{document}

여기에 이미지 설명을 입력하세요

관련 정보