11
votes

Latex: Évitez le nouveau paragraphe?

J'utilise la commande \ todo à partir du package \ toDonotes . J'aimerais mettre en place ma source pour mettre \ todos séparément du paragraphe précédent: xxx

mais je ne veux pas \ todo Pour démarrer un nouveau paragraphe ou visser l'espacement du document.

existe une commande pour éviter cela?

S'il y avait une commande / un package pour consommer le blancheur Jusqu'à ce que je puisse redéfinir \ todo pour l'utiliser.

éditer: Ajouter un% entre tout est évidemment très irritant. Autre chose d'autre?


3 commentaires

L'ajout d'un seul caractère par \ toDO la solution la moins irritante que nous pourrions obtenir?


Voyager: Non, je ne veux pas ajouter de caractères. Le mieux que nous puissions faire est d'avoir une commande (dire \ consommée) qui consomme le blancheur qui lui conduit, de sorte que je puisse redéfinir \ toDO pour utiliser \ consommer.


Il y a \ Unkip pour retirer le dernier espace horizontal, mais le séparateur de paragraphes est une histoire complète.


8 Réponses :


4
votes

Essayez ceci:

Some text.
%
\todo{make note}


3 commentaires

L'ajout d'un% entre tout est évidemment très irritant. Rien d'autre?


@Paul Biggar clairement, vous et moi avons des tolérances différentes. ;-)


@Sinan Ünür: Eh bien, je dois le faire partout. C'est pourquoi j'ai demandé une commande de consommer des espaces.



2
votes

Que diriez-vous de

Some text.
%
\todo{make note}
%
some more text


3 commentaires

L'ajout d'un% entre tout est évidemment très irritant. Rien d'autre?


Il doit y avoir quelque chose qui ne va pas avec moi parce que je le faisais depuis 1993 chaque fois que je voulais laisser de l'espace au milieu d'un paragraphe sans latex créant des paragraphes. Je n'ai jamais été motivé à me demander s'il y a une autre façon de le faire.


@Sinan Ünür: Clairement, vous n'avez pas eu un projet important pour tergiverser;)



3
votes

Peut-être que vous ne devez pas laisser une nouvelle ligne entre le texte et la note de TODO ou simplement le commenter

Some text.
%
\todo{make note}


5 commentaires

L'ajout d'un% entre tout est évidemment très irritant. Rien d'autre?


Je ne sais pas si cela fonctionnerait, mais si vous souhaitez laisser une nouvelle ligne entre le texte et la note, vous pouvez essayer d'ajouter un personnage de retour arrière devant la commande TODO \ B \ TODO {FAIRE NOTE}


Il suffit de laisser la ligne vide complètement? La seule façon pour le latex de démarrer un nouveau paragraphe est une ligne vide


Eh bien, l'astucieux semble vouloir éviter de nouvelles lignes dans la sortie, mais laissez-les dans le code source (peut être pour des raisons de lisibilité)


Pourquoi ne pas indenter le \ TODO au lieu de quitter la ligne vierge? Cela devrait être au moins aussi lisible.



12
votes

Je dois accepter tout le monde que vous devriez probablement simplement ajouter le % , mais je trouve cette question intéressante. Le problème est que dès que la latex lit la ligne vide, elle est convertie dans la commande \ pa , qui met fin au paragraphe précédent. Au début de \ toDO , la commande \ pa a déjà été exécutée et qu'il est impossible de l'annuler (je pense). Votre seul espoir est donc de garder ce \ par d'être inséré ou de se comporter comme celui-ci le fait normalement. Si vous souhaitez l'empêcher d'être insérée, vous pouvez essayer de lire le chapitre 8 du "Texbook", qui devrait vous dire comment une ligne vide est convertie en \ par . Vous pouvez également essayer de faire une solution basée sur le type d'idée suivant: xxx

mais attention! Vous ne voulez certainement pas globalement modifier le comportement de \ par , c'est pourquoi j'ai ajouté une paire supplémentaire d'accolades bouclées (les commandes en latex sont scopées, donc la nouvelle définition de \ par ne prend effet que dans le groupe où la définition a été faite). Bonne chance.


0 commentaires

0
votes

Incluez simplement votre \ TODO en plein milieu de votre texte. Pas de rupture de ligne, sans rien.

Blah bla bla texte \ todo {Faites ceci maintenant!} Plus de texte bla bla bla bla.

Sur mon ordinateur (Win XP, Miktex 2.7, TexicCenter) Ce travail bien, ne produit aucune pause de ligne et met la note de TODO dans la marge. . .


2 commentaires

Je pense que le questionneur original veut vraiment rendre le \ todo visuellement distinctif dans la source .


avec le spécificateur sur le paquet de TODO, comme \ TODO [INLINE] {pour faire du texte}} il ajoute la tâche à faire dans la marge avec une ligne qui le connecte au texte ... Si vous utilisez l'option [Inline], cela prendra le ligne entière et mettre la couleur de fond à l'orange par défaut.



2
votes

SET \ endlinechar = -1 pour que les lignes vides n'ont aucun effet. Vous devrez utiliser \ par pour séparer les paragraphes, que je pense est une plus grande irritation que de devoir taper % sur des lignes de séparateur, mais c'est ce que vous demandez.


2 commentaires

Ce que je demande vraiment, c'est la capacité de dire "La dernière ligne vide n'avait aucun effet. Mais très intéressant, merci.


Je ne pense pas que ça va être facile. Lorsque TEX a déjà pris la dernière ligne vide en tant que séparateur de paragraphe, il a finalisé le paragraphe précédent et l'a ajouté à la liste des cases de la page et a éventuellement décidé que la page était pleine et appelée la routine de sortie de la page. J'hésite à dire que ceci est une demande impossible compte tenu des astuces que les sorciers de TeX peuvent faire, mais je pense que vous devez trouver une personne intimement familière avec TeX pour vous aider avec cela.



1
votes

Que diriez-vous de garder tout ce qui est toujours de travail à faire à l'intérieur \ defs étiquettes, puis de le retirer et de le déplacer dans le document approprié quand il n'y a plus de travail à faire?

EG P>

\par1
\todo{write a whole bunch of pages}
\par2000
\todo{Visit ghost of Christmas future, copy pages from finished book}
\paridunno
\todo{Think of a better ending}


0 commentaires

10
votes

Lorsque la macro précède l'espace indésirable, le% n'est pas nécessaire si vous utilisez \ @IfnextChar et \ @gobble.

considère quelque chose comme (dans le préambule, bien sûr): P>

Some text\gobblepars

\todo{Stuff}


0 commentaires