Un poco de historia.
Estoy tratando de controlar la versión de mis documentos de látex, y la efectividad de esta iniciativa mejoraría enormemente si adopto un enfoque de una oración por línea .
Por ejemplo, el siguiente es el aspecto que tendrán mis documentos.
Some text here.
New stencence on the same paragraph.
Some more text, still on the same paragraph.
This is another paragraph.
Mi pregunta es simple
¿Cuánto de eso puedo automatizar / mejorar con Emacs?
Los siguientes dos puntos son lo que tengo en mente.
Mis oraciones son largas , así que necesito ajustar líneas sin llenarlas. Es decir, una oración muy larga debe mostrarse en varias líneas en mi pantalla, pero debe ser una sola línea en el archivo ".tex" . Esto se haría preferiblemente de una manera que no envuelva ecuaciones.
visual-line-mode
se ajusta al ancho de la ventana, que es demasiado ancho. Necesito algo que envuelva líneas y limite su ancho a aproximadamente 80 caracteres. Al igual que lofill-paragraph
haría normalmente, pero sin romper realmente las líneas en el archivo.- Puedo romper manualmente la línea después de cada oración, pero sería muy preferible si pudiera configurar
fill-paragraph
(o tal vez inclusoauto-fill-mode
) poner una oración por línea también.
fuente
visual-line-mode
. Pero además de ese ajuste de línea, también debe insertar automáticamente un carácter de nueva línea después de cada oración, ¿correcto?Respuestas:
Si solo quieres algo similar
visual-line-mode
pero configurable, puedes probarlonglines-mode
cuál es el que uso para la mayoría de mi prosa.longlines-mode
ajusta su texto de manera similar alvisual-line-mode
ancho configurado porfill-column
.Aquí hay una captura de pantalla con
fill-column
set to70
(la ventana en realidad se extiende aún más a la derecha).La configuración
fill-paragraph
sería ordenada, pero no estoy seguro de cómo hacerlo. En cambio, aquí hay un truco temporal razonable: haz que tu.
personaje sea eléctrico en modo TeX, insertando una nueva línea. Esto solo implica volver a vincularlo en cualquier gancho de modo apropiado:fuente
Para (1), usaría un margen ampliado, para que las
visual-line-mode
líneas se ajusten a la deseadafill-column
. Sin embargo, esto afectará tanto a las líneas de texto como a las ecuaciones.En cuanto a (2), se puede definir un comando de relleno personalizado para enlazar
M-q
y rellenar correctamente los párrafos. Todavía no he logrado escribir un comando con el comportamiento correcto para el autocompletado.Envolver todo esto en un modo menor podría verse de la siguiente manera. No es un código muy bonito, pero debería funcionar en la mayoría de los casos. (He tenido la
unfill-paragraph
función en miinit.el
durante bastante tiempo sin notar problemas).fuente
unfill-paragraph
conospl/unfill-paragraph
. Los márgenes también funcionan, pero el texto sangrado se ve mal y también envuelven ecuaciones, mientras que logré hackear el método de palangre a continuación para solucionar estos dos problemas.unfill-paragraph
(sin prefijo) en miinit.el
durante mucho tiempo. Yo sólo prefijado ayer por su consistencia y presenté un error ....(let ((fill-column 1000000)) (fill-pragraph))
. Sin embargo, aún no lo he probado.¿Se evitarían / resolverían sus problemas de control de versiones si usa git diff --color-words o latexdiff? Entonces puedes mirar las palabras cambiadas.
fuente
Una forma de mejorar esto que he usado (a veces) durante varios años es mostrar oraciones con saltos de línea que fluyen una tras otra doblando los saltos de línea usando las facilidades de
tex-fold
(una parte de AUCTeX).Esto significa que esto
está plegado a
Recientemente he reunido esto como un modo menor en un paquete. Quizás alguien más también encuentre esto útil: https://github.com/andersjohansson/tex-fold-linebreaks
fuente