Discussion:
[gut] verb et fbox? Incompatibilités?
Eric Guichard
2018-10-27 16:11:30 UTC
Permalink
Bonjour,

Pourquoi un \fbox{\verb+«chose»+} me donne en encadré un «chose»+, au
point que je suis obligé d'écrire un
\fbox{\verb+«chose»}?

Et pourquoi un \fbox{\path{«chose»}} me donne-t-il des choses
abominables à la place des guillemets?

Pour info, mon préambule est assez standard:
\documentclass[10pt,french]{book}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[a4paper]{geometry}
\usepackage{babel}

\usepackage[hidelinks,
pdfstartview=FitH,
plainpages=false]
{hyperref}

Merci d'avance
Eric, qui se replonge dans son projet de livre pédagogique sur LaTeX
Pétiard François
2018-10-27 17:33:04 UTC
Permalink
Bonjour

Chez moi,   \fbox{\verb+«chose»+} me donne le message d'erreur :

! LaTeX Error: \verb illegal in command argument.

Vous n'avez pas ce message d'erreur (assez explicite, il me semble) ?

Et pour \fbox{\path{«chose»}}: je pense que la commande \path lit son
argument octet par octet et comme « et » sont codés en UTF8 sur 2 octets...

François
Post by Eric Guichard
Bonjour,
Pourquoi un \fbox{\verb+«chose»+} me donne en encadré un «chose»+, au
point que je suis obligé d'écrire un
\fbox{\verb+«chose»}?
Et pourquoi un \fbox{\path{«chose»}} me donne-t-il des choses
abominables à la place des guillemets?
\documentclass[10pt,french]{book}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[a4paper]{geometry}
\usepackage{babel}
\usepackage[hidelinks,
pdfstartview=FitH,
plainpages=false]
{hyperref}
Merci d'avance
Eric, qui se replonge dans son projet de livre pédagogique sur LaTeX
Daniel Flipo
2018-10-27 18:06:36 UTC
Permalink
Bonjour,
Post by Eric Guichard
Bonjour
! LaTeX Error: \verb illegal in command argument.
Vous n'avez pas ce message d'erreur (assez explicite, il me semble) ?
Et pour \fbox{\path{«chose»}}: je pense que la commande \path lit son
argument octet par octet et comme « et » sont codés en UTF8 sur 2 octets...
Rien à ajouter sur l'emploi de \verb dans une commande mais je ne peux
résister au plaisir de faire un peu de pub pour LuaTeX :

\documentclass[10pt,french]{book}
\usepackage[a4paper]{geometry}
\usepackage{fontspec}
\usepackage{babel}
\usepackage[hidelinks,
pdfstartview=FitH,
plainpages=false]
{hyperref}

\begin{document}
\path{«/mon/été/»} ne pose aucun problème en LuaTeX !
\end{document}
--
Daniel Flipo
Eric Guichard
2018-10-27 19:07:37 UTC
Permalink
Merci à tous,

1. vous avez bien éclairé ma lanterne.

2. Pour Lualatex, comme ma doc est destinée à des littéraires, je vais
commencer par des choses classiques.

3. Pour les messages d'erreur, ils sont faibles avec texstudio. Avec
pdflatex, un r suffit.

4. Pour texttt, je ne suis pas très chaud car si j'écris \texttt{~}, ça
me fait un bel insécable en mode ttt donc invisible.

Comment faire pour avoir un tilde visible et encadré?

Globalement, si, pour expliquer que l'insécable est inutile avant le !,
je n'arrive pas à l'écrire avec LaTeX, je me dis que mon projet de
démocratisation de ce bel outil est condamné.

prenons un exemple simple: \fbox{\verb+Mange~!+}

Comment faire pour que je lise un
_________
|Mange~!|
_________

tout encadré? Une personne qui a suivi 10h de cours de LaTeX devrait
pouvoir faire ça, non?
Sourires

Bien cordialement
Eric
unbonpetit
2018-10-27 19:51:27 UTC
Permalink
Post by Eric Guichard
_________
|Mange~!|
_________
tout encadré? Une personne qui a suivi 10h de cours de LaTeX devrait
pouvoir faire ça, non?
C'est assez texnique. Le plus simple est de faire un bon \scantokens
pour tout remettre d'aplomb.

Pour mettre du \verb dans l'argument d'une macro, faites la précéder de
\cprotect. Le code ci-dessous est tiré du bouquin « Apprendre à
programmer en TeX ».


\documentclass[10pt,french]{book}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[a4paper]{geometry}
\usepackage{babel}
\usepackage[hidelinks,
pdfstartview=FitH,
plainpages=false]
{hyperref}
\makeatletter
\def\cprotect#1{%
    \def\***@i##1{%
        \endgroup
        #1{\scantokens{##1\noexpand}}%
    }%
    \begingroup
        \let\do\@makeother\dospecials
        \catcode`\{=1 \catcode`\}=2
        \***@i
}
\makeatother
\begin{document}
\cprotect\fbox{\verb+Mange~!+}
\end{document}
Eric Guichard
2018-10-27 19:58:14 UTC
Permalink
Mille mercis, ça marche.
Et je comprends pourquoi je n'y arrivais pas.
Je ne le dirai pas à mes étudiants, promis.
Mais c'est vrai que LaTeX, c'est pas du gâteau
Sourires et encore merci
Eric
Post by unbonpetit
Post by Eric Guichard
_________
|Mange~!|
_________
tout encadré? Une personne qui a suivi 10h de cours de LaTeX devrait
pouvoir faire ça, non?
C'est assez texnique. Le plus simple est de faire un bon \scantokens
pour tout remettre d'aplomb.
Pour mettre du \verb dans l'argument d'une macro, faites la précéder
de \cprotect. Le code ci-dessous est tiré du bouquin « Apprendre à
programmer en TeX ».
\documentclass[10pt,french]{book}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[a4paper]{geometry}
\usepackage{babel}
\usepackage[hidelinks,
pdfstartview=FitH,
plainpages=false]
{hyperref}
\makeatletter
\def\cprotect#1{%
        \endgroup
        #1{\scantokens{##1\noexpand}}%
    }%
    \begingroup
        \catcode`\{=1 \catcode`\}=2
}
\makeatother
\begin{document}
\cprotect\fbox{\verb+Mange~!+}
\end{document}
--
Éric Guichard
Maître de conférences HDR à l'Enssib
Responsable de l'équipe Réseaux, Savoirs & Territoires de l'Ens-Ulm et du RAIL (IXXI-Enssib)
Ancien Directeur de programme au Collège international de philosophie
Collaborateur extérieur de l'équipe Dante (Inria)
Membre du laboratoire Triangle
http://barthes.enssib.fr
Daniel Flipo
2018-10-27 20:04:49 UTC
Permalink
Post by Eric Guichard
Globalement, si, pour expliquer que l'insécable est inutile avant le !,
je n'arrive pas à l'écrire avec LaTeX, je me dis que mon projet de
démocratisation de ce bel outil est condamné.
Je ne suis pas sûr de comprendre, il suffit de dire qu'avec babel-french
les insécables devant la ponctuation haute sont insérée automatiquement,
non ?
Post by Eric Guichard
prenons un exemple simple: \fbox{\verb+Mange~!+}
Comment faire pour que je lise un
_________
|Mange~!|
_________
IL me semble qu'il y a plus simple : coder

Mange ! Mange! \fbox{\ttfamily Mange\tild!}

donne en sortie ce qu'il faut non ?
--
Daniel Flipo
Eric Guichard
2018-10-27 20:26:01 UTC
Permalink
Oui, aussi, merci.
Mais l'exemple était concret, face à un problème plus générique.
Encore merci à vous deux
E
Post by Daniel Flipo
Post by Eric Guichard
_________
|Mange~!|
_________
IL me semble qu'il y a plus simple : coder
Mange ! Mange! \fbox{\ttfamily Mange\tild!}
donne en sortie ce qu'il faut non ?
Daniel Flipo
2018-10-27 20:29:21 UTC
Permalink
Post by Daniel Flipo
Post by Eric Guichard
Comment faire pour que je lise un
_________
|Mange~!|
_________
IL me semble qu'il y a plus simple : coder
Mange ! Mange! \fbox{\ttfamily Mange\tild!}
donne en sortie ce qu'il faut non ?
Je me pose quand même une question: pourquoi vouloir lire
Post by Daniel Flipo
Post by Eric Guichard
_________
|Mange~!|
_________
quand l'espace préconisée devant le point d'exclamation n'est pas
l'espace-mot insécable (codée ~ en LaTeX) mais la fine insécable (codée
\,) ?
--
Daniel Flipo
Eric Guichard
2018-10-27 20:40:26 UTC
Permalink
L'espace avant le ! est inutile, nous le savons tous.

Le problème essentiel est d'inviter les personnes utilisant Word à se
servir de LaTeX sans mettre ces fameux insécables.
Autrement dit, à faire exprès des erreurs pour que les étudiants
comprennent que ce sont des erreurs, ou des ajouts inutiles.
Croyez moi, je ne cherche pas à faire une nième doc, il y en a déjà plus
de 100 voire 1000 qui sont excellentes.
Mais j'en connais peu qui prennent les choses à l'envers, du genre: vous
avez vos habitudes avec Word, comprenez pourquoi vous devez/pouvez vous
en débarrasser.
Et croyez moi, la chose n'est pas facile!
Surtout si on a quelques exigences en matière typo.

Bien cordialement
E
Post by Daniel Flipo
Je me pose quand même une question: pourquoi vouloir lire
Post by Eric Guichard
_________
|Mange~!|
_________
quand l'espace préconisée devant le point d'exclamation n'est pas
l'espace-mot insécable (codée ~ en LaTeX) mais la fine insécable (codée
\,) ?
Loading...