Ich möchte gerne den Befehl \blank bzw. \blank* global so umdefinieren, dass die Lösung in roter Textfarbe erscheint. Hier ein MBB

Öffne in Overleaf
\documentclass{scrartcl}
\usepackage{xcolor}
\usepackage[ngerman]{babel}
\usepackage{exsheets}

\SetupExSheets{%
 solution/print=true,
 question/print=true,
}

\begin{document}

\begin{question}{3}
    Erklären Sie den Begriff.

    \blank[width=4\linewidth,linespread=1.5]{}
\end{question}

\begin{solution}
    \blank[width=4\linewidth,linespread=1.5]{Die Lösung hier soll rot sein.}
\end{solution}

\end{document}

Weiß jemand wie?

gefragt 27 Apr, 07:23

thor's gravatar image

thor
18239
Akzeptiert: 100%

bearbeitet 27 Apr, 08:31

saputello's gravatar image

saputello
19.9k33157


Das ist wohl ein fehlendes Feature in exsheets. Hier ist eine mögliche Umdefinition:

Öffne in Overleaf
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{exsheets,xcolor}

\ExplSyntaxOn
\tl_new:N \l__exsheets_blank_format_tl

\cs_new_protected:Npn \__exsheets_write_blank:n #1 {#1}

\cs_set_protected:Npn \exsheets_write_blank:n #1
  {
    \group_begin:
      \tl_use:N \l__exsheets_blank_format_tl
      \__exsheets_write_blank:n {#1}
    \group_end:
  }

\keys_define:nn { exsheets / blank }
  {
    style          .choice: ,
    style / line   .code:n =
      \cs_set_eq:NN \__exsheets_write_blank:n \uline ,
    style / wave   .code:n =
      \cs_set_eq:NN \__exsheets_write_blank:n \uwave ,
    style / dline  .code:n =
      \cs_set_eq:NN \__exsheets_write_blank:n \uuline ,
    style / dotted .code:n =
      \cs_set_eq:NN \__exsheets_write_blank:n \dotuline ,
    style / dashed .code:n =
      \cs_set_eq:NN \__exsheets_write_blank:n \dashuline ,
    format         .tl_set:N = \l__exsheets_blank_format_tl
  }

\ExplSyntaxOff

\SetupExSheets{blank/style=line}

\begin{document}

\begin{question}{3}
    Erklären Sie den Begriff.

    \blank[width=4\linewidth,linespread=1.5]{}
\end{question}

\begin{solution}[print]
    \blank[width=4\linewidth,linespread=1.5,format=\color{red}]{Die Lösung
      hier soll rot sein.}
\end{solution}

\end{document}

Die Linie der Lösung im Beispiel oben ist jetzt auch rot… Ich habe die Lösung nicht ausgiebig getestet und werde das Feature auch bei exsheets nicht einbauen, werde es aber bei xsim (auf GitHub) berücksichtigen.


Die xsim-Lösung:

Öffne in Overleaf
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}

\usepackage{xsim,lipsum,xcolor}

\xsimsetup{
  solution/print = true ,
  blank/filled-style = \underline{\textcolor{red}{#1}}
}

\begin{document}

\begin{exercise}[points=3]
  Erklären Sie den Begriff.

  \blank[width=4\linewidth,linespread=1.5]{}
\end{exercise}
\begin{solution}
  \blank[width=4\linewidth,linespread=1.5]{Die Lösung hier soll rot sein.}
\end{solution}

\end{document}

alt text

Permanenter link

beantwortet 27 Apr, 13:25

Clemens's gravatar image

Clemens
19.9k113360

bearbeitet 09 Mai, 08:51

Clemens, das funktioniert bis jetzt gut.

(27 Apr, 14:21) thor

Du kannst dir einen Stil definieren:

Edit: Wenn du die Linien erhalten willst, kannst du \uline noch hinzufügen.

Öffne in Overleaf
\documentclass{scrartcl}
\usepackage{xcolor}
\usepackage[ngerman]{babel}
\usepackage{exsheets}

\SetupExSheets{%
 solution/print=true,
 question/print=true,
}

\ExplSyntaxOn

\keys_define:nn { exsheets / blank }
  {
    style / color .code:n =
      \cs_set:Nn \exsheets_write_blank:n {\textcolor{#1}{##1}} ,

  }      
\ExplSyntaxOff

\SetupExSheets{blank / style /color =red}
\begin{document}

\begin{question}{3}
    Erklären Sie den Begriff.

    \blank[width=4\linewidth,linespread=1.5]{}
\end{question}

\begin{solution}
    \blank[width=4\linewidth,linespread=1.5]{Die Lösung hier soll rot sein.}
\end{solution}

\end{document}
Permanenter link

beantwortet 27 Apr, 10:12

Ulrike%20Fischer's gravatar image

Ulrike Fischer
2.5k13

bearbeitet 27 Apr, 12:53

Danke, funktioniert.

(27 Apr, 10:49) thor

Ich war zu schnell, bei der Definition sind die Linien weg, [style=line]. Könnte man händisch hinzufügen bei über 200 \blank bzw. \blank* aber sehr umständlich. Wie kann man das global noch hinzufügen?

(27 Apr, 12:41) thor
Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs füge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×9

Frage gestellt: 27 Apr, 07:23

Frage wurde angeschaut: 549 Mal

Zuletzt aktualisiert: 09 Mai, 08:51