为了编写讲义,我使用了一个名为的命令,\exo
该命令以粗体显示并自动增加练习编号。它有一个可选参数,即评估期间练习获得的成绩。我感谢@egreg 的改进在这里回答这样,在刻度旁边总会有一点空白来写等级,而且效果很好。
但现在下一行是充分合理代替左对齐(这就是我想要实现的)。例如,“完成下列表格并标记您的计算:”不是左对齐。
我的错误是什么?
翻译www.DeepL.com/Translator(免费版)
\documentclass[a5paper,12pt,french]{article} % Présentation générale et mise en page
% Marges de la page
\usepackage[left=0.3cm, right=0.3cm, top=1cm, bottom=0cm]{geometry}
% pas de retrait de paragraphe
\setlength{\parindent}{0mm}
\usepackage{array}
\usepackage[output-decimal-marker={,}]{siunitx}
\sisetup{locale=FR}
% --------------------------------------
% Nouvelle commande \exo pour numéroter les exercices
% --------------------------------------
\usepackage{ifthen}
\newcounter {EX} \setcounter{EX}{0}%compteur pour numéroter avant le \newcommand {\exo} ce sont des entiers (et non des décimaux)
\newcommand {\exo}[2][]{ %barème optionnel
\stepcounter{EX} %
\par \vspace{1em} %\
\underline{\textbf{Exercice\,\theEX\,:}}\textbf{ #2}%
\ifthenelse{\equal{#1}{}} %
{\par} %
{\newdimen \p%
\p=#1cm %
\ifdim \p<2cm
% egreg solution https://tex.stackexchange.com/a/91564/138900
\nobreak\hfill\penalty50\hskip1em\null\nobreak
\hfill\makebox[5mm]{}/\num{#1}~point \parfillskip=0pt \finalhyphendemerits=0 \par
\else
\nobreak\hfill\penalty50\hskip1em\null\nobreak
\hfill\makebox[5mm]{}/\num{#1}~points \parfillskip=0pt \finalhyphendemerits=0 \par
\fi} %
}
\begin{document}
\thispagestyle{empty}
\pagestyle{empty}
\exo[3]{On agrandit une pièce triangulaire d'un puzzle tel que le côté qui mesure \SI{4}{cm} mesure \SI{4.8}{cm} sur le triangle agrandi}
Compléter le tableau suivant et indiquez vos calculs:
\exo[2,5]{Lors de sa construction en 1889, la tour Eiffel mesurait \SI{300}{m} de haut.}
Un modèle réduit en bois de la tour Eiffel mesure \SI{0,12}{m} de haut.
La largeur de ce modèle réduit est de \SI{0,05}{m}. Quelle est la largeur de la tour Eiffel?
\exo[2.5]{Lors de sa construction en 1889, la tour Eiffel }
\end{document}
答案1
您需要将更改本地化为\parfillskip
。括号是在引用的答案中。
我还简化了添加复数的代码。
\documentclass[a5paper,12pt,french]{article} % Présentation générale et mise en page
% Marges de la page
\usepackage[left=0.3cm, right=0.3cm, top=1cm, bottom=0cm]{geometry}
% pas de retrait de paragraphe
\setlength{\parindent}{0mm}
\usepackage{array}
\usepackage[output-decimal-marker={,}]{siunitx}
\sisetup{locale=FR}
% --------------------------------------
% Nouvelle commande \exo pour numéroter les exercices
% --------------------------------------
%compteur pour numéroter avant le \newcommand {\exo}
% ce sont des entiers (et non des décimaux)
\newcounter{EX}
%\setcounter{EX}{0}
\newcommand {\exo}[2][]{ %barème optionnel
\stepcounter{EX} %
\par \vspace{1em} %\
\underline{\textbf{Exercice\,\theEX\,:}}\textbf{ #2}%
\if\relax\detokenize{#1}\relax
\par
\else
% egreg solution https://tex.stackexchange.com/a/91564/138900
\nobreak\hfill\penalty50\hskip1em\null\nobreak
\hfill\makebox[5mm]{}/\num{#1}~point\ifdim#1cm<2cm \else s\fi
{\parfillskip=0pt \finalhyphendemerits=0 \par}% <--- braces!
\fi
}
\begin{document}
\thispagestyle{empty}
\pagestyle{empty}
\exo[3]{On agrandit une pièce triangulaire d'un puzzle tel que le
côté qui mesure \SI{4}{cm} mesure \SI{4.8}{cm} sur le triangle agrandi}
Compléter le tableau suivant et indiquez vos calculs:
\exo[2,5]{Lors de sa construction en 1889, la tour Eiffel mesurait \SI{300}{m} de haut.}
Un modèle réduit en bois de la tour Eiffel mesure \SI{0,12}{m} de haut.
La largeur de ce modèle réduit est de \SI{0,05}{m}. Quelle est la largeur de la tour Eiffel?
\exo[2.5]{Lors de sa construction en 1889, la tour Eiffel }
\end{document}
答案2
添加一个额外的组,以便设置是本地的。
还有一些更正以避免添加空格标记,并且可以使用,\refstepcounter
以便您可以\label
。
\documentclass[a5paper,12pt,french]{article} % Présentation générale et mise en page
% Marges de la page
\usepackage[left=0.3cm, right=0.3cm, top=1cm, bottom=0cm]{geometry}
% pas de retrait de paragraphe
\setlength{\parindent}{0mm}
\usepackage{array}
\usepackage[output-decimal-marker={,}]{siunitx}
\sisetup{locale=FR}
% --------------------------------------
% Nouvelle commande \exo pour numéroter les exercices
% --------------------------------------
\usepackage{ifthen}
\newcounter {EX} \setcounter{EX}{0}%compteur pour numéroter avant le \newcommand {\exo} ce sont des entiers (et non des décimaux)
\newcommand {\exo}[2][]{{%barème optionnel
\refstepcounter{EX}%
\par \vspace{1em}%\
\underline{\textbf{Exercice\,\theEX\,:}}\textbf{ #2}%
\ifthenelse{\equal{#1}{}}%
{\par}%
{%
\ifdim#1cm<2cm
% egreg solution https://tex.stackexchange.com/a/91564/138900
\nobreak\hfill\penalty50\hskip1em\null\nobreak
\hfill\makebox[5mm]{}/\num{#1}~point \parfillskip=0pt \finalhyphendemerits=0 \par
\else
\nobreak\hfill\penalty50\hskip1em\null\nobreak
\hfill\makebox[5mm]{}/\num{#1}~points \parfillskip=0pt \finalhyphendemerits=0 \par
\fi}%
}}
\begin{document}
\thispagestyle{empty}
\pagestyle{empty}
\exo[3]{On agrandit une pièce triangulaire d'un puzzle tel que le côté qui mesure \SI{4}{cm} mesure \SI{4.8}{cm} sur le triangle agrandi}
Compléter le tableau suivant et indiquez vos calculs:
\exo[2,5]{Lors de sa construction en 1889, la tour Eiffel mesurait \SI{300}{m} de haut.}
Un modèle réduit en bois de la tour Eiffel mesure \SI{0,12}{m} de haut.
La largeur de ce modèle réduit est de \SI{0,05}{m}. Quelle est la largeur de la tour Eiffel?
\exo[2.5]{Lors de sa construction en 1889, la tour Eiffel }
\end{document}