Observações diversas:

Observações diversas:

Estou preparando os documentos do curso para o outono, usando a tufte-handoutaula, e quero incorporar um calendário usando o termcal. Então eu faço isso:

\documentclass{tufte-handout}
\usepackage{fontspec}
\usepackage{termcal}

\defaultfontfeatures{Mapping=tex-text}

  \renewcommand{\allcapsspacing}[1]{{\addfontfeature{LetterSpace=20.0}#1}}
      \renewcommand{\smallcapsspacing}[1]{{\addfontfeature{LetterSpace=5.0}#1}}
      \renewcommand{\textsc}[1]{\smallcapsspacing{\textsmallcaps{#1}}}
\renewcommand{\smallcaps}[1]{\smallcapsspacing{\scshape\MakeTextLowercase{#1}}}

\renewcommand{\calprintclass}{}

\title{Course overview}
\author{English 220}
\date{Fall 2017}

    \begin{document}

        \maketitle

        \begin{fullwidth}

            \setlength{\calwidth}{6in}
            \begin{calendar}{9/4/17}{10}

                \calday[Monday]{\classday} % Monday
                \calday[Tuesday]{\classday} % Wednesday
                \calday[Wednesday]{\classday}
                \calday[Thursday]{\classday} % Thursday (unnumbered)
                \calday[Friday]{\classday} % Friday
                \skipday\skipday % weekend (no class)
                % Holidays
                \options{9/21/17}{\noclassday}
                \caltext{9/21/17}{No Class\\Rosh Hashanah}

                % Key dates

                \caltext{9/5/17}{Introductions}

                \caltext{9/18/17}{Bring to class \emph{TOTC} \& \emph{The Passion}}

                % Exams
                \caltext{9/15/17}{Review test on 9th grade grammar \& vocab}
                \caltext{9/29/17}{Quiz on vocab list 7}
                \caltext{10/20/17}{Quiz on vocab lists 7--8}
                \caltext{10/27/17}{Quiz on adj. \& adv. clauses}



            \end{calendar}
        \end{fullwidth}
    \end{document}

A saída é bizarra. Eu postaria uma imagem, mas por algum motivo não posso fazer isso acontecer no momento (acompanhe aquele dramaaquise você estiver curioso), então terei que descrevê-lo.

  • A primeira data do calendário está correta (4 de setembro); as datas subsequentes são 25 de outubro, 55 de novembro, 84 de dezembro, 114 de janeiro e assim por diante. (Sim, as datas são números negativos.)
  • A célula do dia 4 de setembro também contém a expressão “Outono 2017>30”. A segunda célula (25 de outubro) contém "Outono 2017>31" e assim por diante.

Então parece que termcaltem um problema com a linha

\date{Fall 2017}

Observações diversas:

  • Se eu alterar essa linha para \date{}, recebo várias mensagens de erro e nenhuma linha de data no meu bloco de título, mas o calendário é exibido corretamente.
  • Se eu excluir totalmente a linha da data, o bloco de título conterá a data de hoje (o que não desejo), mas o calendário será exibido corretamente.
  • Se eu alterar a classe do documento para article, o problema desaparecerá completamente.

Existe uma maneira de usar o datecomando da maneira que normalmente faço e ainda funcionar termcalcorretamente? Ou este pacote é apenas incompatível com esta classe de documento?

Responder1

Culpar termcalou tufte-common.def- ambos definem e usam \thedate;-)

tufte-common.defconjuntos \thedateusando o argumento \datewhich é uma má ideia, porque \the...as macros geralmente devem ser usadas apenas para saída do contador.

termcaldefine um novo contador chamado date, o que implica a definição automática de \thedate, porém, isso é feito com \gdef\thedate{...}, substituindo a definição antiga por tufte-common.def.

Na verdade, tufte-common.defestá fazendo aqui algo mal planejado.

Uma solução, em vez de mudar o comportamento aparentemente adequado de termcalé pegar o \datecomando original projetado por LaTeXantes de \documentclassentrar em ação, digamos com \let\latexdate\datee dizendo \latexdate{Fall 2017}em vez de \date{Fall 2017}, o que estraga o sistema.

\let\latexdate\date

\documentclass{tufte-handout}
\usepackage{fontspec}
\usepackage{termcal}

\defaultfontfeatures{Mapping=tex-text}

\renewcommand{\allcapsspacing}[1]{{\addfontfeature{LetterSpace=20.0}#1}}
\renewcommand{\smallcapsspacing}[1]{{\addfontfeature{LetterSpace=5.0}#1}}
\renewcommand{\textsc}[1]{\smallcapsspacing{\textsmallcaps{#1}}}
\renewcommand{\smallcaps}[1]{\smallcapsspacing{\scshape\MakeTextLowercase{#1}}}

\renewcommand{\calprintclass}{}

\title{Course overview}
\author{English 220}
\latexdate{Fall 2017}

\begin{document}

\maketitle

\begin{fullwidth}

  \setlength{\calwidth}{6in}
  \begin{calendar}{9/4/17}{10}

    \calday[Monday]{\classday} % Monday
    \calday[Tuesday]{\classday} % Wednesday
    \calday[Wednesday]{\classday}
    \calday[Thursday]{\classday} % Thursday (unnumbered)
    \calday[Friday]{\classday} % Friday
    \skipday\skipday % weekend (no class)
    % Holidays
    \options{9/21/17}{\noclassday}
    \caltext{9/21/17}{No Class\\Rosh Hashanah}

    % Key dates

    \caltext{9/5/17}{Introductions}

    \caltext{9/18/17}{Bring to class \emph{TOTC} \& \emph{The Passion}}

    % Exams
    \caltext{9/15/17}{Review test on 9th grade grammar \& vocab}
    \caltext{9/29/17}{Quiz on vocab list 7}
    \caltext{10/20/17}{Quiz on vocab lists 7--8}
    \caltext{10/27/17}{Quiz on adj. \& adv. clauses}



  \end{calendar}
\end{fullwidth}
\end{document}

Versão melhor com redefinição \datedependendo se o termcal está carregado ou não

\documentclass{tufte-handout}
\usepackage{fontspec}
\usepackage{termcal}

\makeatletter
\providecommand\tuftedate{}
\@ifpackageloaded{termcal}{%
  \renewcommand{\date}[1]{%
    \gdef\@date{#1}%
    \begingroup%
    % TODO store contents of \thanks command
    \renewcommand{\thanks}[1]{}% swallow \thanks contents
    \protected@xdef\tuftedate{#1}%
    \endgroup%
  }{%
    % Do nothing else, there's no need to redefine \date
  }
}
\makeatother
\defaultfontfeatures{Mapping=tex-text}

\renewcommand{\allcapsspacing}[1]{{\addfontfeature{LetterSpace=20.0}#1}}
\renewcommand{\smallcapsspacing}[1]{{\addfontfeature{LetterSpace=5.0}#1}}
\renewcommand{\textsc}[1]{\smallcapsspacing{\textsmallcaps{#1}}}
\renewcommand{\smallcaps}[1]{\smallcapsspacing{\scshape\MakeTextLowercase{#1}}}

\renewcommand{\calprintclass}{}

\title{Course overview}
\author{English 220}
\date{Fall 2017}

\begin{document}
\maketitle

\begin{fullwidth}

  \setlength{\calwidth}{6in}
  \begin{calendar}{9/4/17}{10}

    \calday[Monday]{\classday} % Monday
    \calday[Tuesday]{\classday} % Wednesday
    \calday[Wednesday]{\classday}
    \calday[Thursday]{\classday} % Thursday (unnumbered)
    \calday[Friday]{\classday} % Friday
    \skipday\skipday % weekend (no class)
    % Holidays
    \options{9/21/17}{\noclassday}
    \caltext{9/21/17}{No Class\\Rosh Hashanah}

    % Key dates

    \caltext{9/5/17}{Introductions}

    \caltext{9/18/17}{Bring to class \emph{TOTC} \& \emph{The Passion}}

    % Exams
    \caltext{9/15/17}{Review test on 9th grade grammar \& vocab}
    \caltext{9/29/17}{Quiz on vocab list 7}
    \caltext{10/20/17}{Quiz on vocab lists 7--8}
    \caltext{10/27/17}{Quiz on adj. \& adv. clauses}



  \end{calendar}
\end{fullwidth}
\end{document}

insira a descrição da imagem aqui

informação relacionada