Typ wiskundige formules in Microsoft Word op de LaTeX manier?
Ik vraag me af of er enkele gratis oplossingen zijn voor het typen van wiskundige formules op de LaTeX manier in Microsoft Word document (Office 2007)?
Ik vraag me af of er enkele gratis oplossingen zijn voor het typen van wiskundige formules op de LaTeX manier in Microsoft Word document (Office 2007)?
Als u Office 365 versie 1707 of later uitvoert, kunt u met de vergelijkingseditor LaTex converteren naar het oorspronkelijke formaat. Zie het eerste deel van dit antwoord.
In oudere versies van Office kan de vergelijkingseditor bepaalde LaTeX-componenten begrijpen. De vergelijking wordt echter gaandeweg opgebouwd en u kunt geen volledige LaTeX-vergelijking converteren. Zie het tweede deel van dit antwoord als u:
MacWord 2011 en 2016
Klik in de vergelijkingseditor Design op de groep Conversies en klik op LaTeX.
Klik in de vergelijkingseditor LaTeX. 3. Open het vervolgkeuzemenu Convert en klik op Current - Professional.
Klik in het vervolgkeuzemenu Converteren. De LaTeX wordt verwerkt in de oorspronkelijke indeling van de vergelijkingseditor.
U kunt ook terug converteren naar LaTeX om de vergelijking te bewerken.
U moet het dropdown menu gebruiken omdat de knop Convert niet automatisch wisselt tussen Lineair en Professional. Het behoudt het laatst gebruikte commando.
Er zijn enkele beperkingen. Bijvoorbeeld, de Office 365 Equation Editor begrijpt de commando’s begin en einde niet. Zie de Microsoft-documentatie voor voorbeelden en mogelijke workarounds:
Zeer weinig mensen beseffen dat de ingebouwde vergelijkingseditor in Word 2007 daadwerkelijk de LaTeX-achtige vergelijkingsinvoer begrijpt. U hoeft alleen maar een nieuwe vergelijking in te voegen en vervolgens LaTeX in te typen. Terwijl u typt, bouwt Word een grafische weergave van de vergelijking op.
Zodra deze in de GUI verschijnt, kunt u deze niet meer als LaTeX bewerken. Word heeft geen ingebouwde TeX-processor – het doet gewoon aan patroonherkenning om eenvoudige LaTeX-syntaxis om te zetten in het oorspronkelijke vergelijkingsformaat. U moet dus niet verwachten dat u perfecte getrouwheid krijgt voor supercomplexe LaTeX-vergelijkingen. Het is echter genoeg voor waarschijnlijk iedereen behalve een wiskundige, en het is een lot sneller dan het klikken op elementen met de muis.
De Word 2007 vergelijkingseditor heeft ook een lineair vergelijkingsinvoerformaat, dat vrij intuïtief is en geen vertrouwdheid met LaTeX vereist. Zo resulteert het intypen van (a+b)/(c+d)
in een mooi geformatteerde fractie.
Opmerkingen:
Veel wetenschappelijke tijdschriften accepteren geen Word-documenten met het nieuwe vergelijkingsformaat – zelfs als u opslaat als .docx in plaats van .docx.
Dit verandert Word niet in LaTeX. Het doet gewoon de vergelijkingen zelf, en niets anders. Je krijgt zelfs geen vergelijkingsnummering.
Schrijf uw wiskundige formules in LaTeX → Transformeer de LaTeX-formules in MathML-code → Kopieer/plak de MathML-code in Word (na plakken klikt u op CTRL en vervolgens op T). Voila!
Laten we bijvoorbeeld deze formule nemen:
Dit is de LaTeX broncode uit de bovenstaande formule:
0 \leq \lim_{n\to \infty}\frac{n!}{(2n)!} \leq \lim_{n\to \infty} \frac{n!}{(n!)^2} = \lim_{k \to \infty, k = n!}\frac{k}{k^2} = \lim_{k \to \infty}\frac{1}{k} = 0.
Open nu een Editor en zet de bovenstaande broncode tussen de tekens $$ zoals dit:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
<title>tex texample</title>
</head>
<body>
$$ 0 \leq \lim_{n\to \infty}\frac{n!}{(2n)!} \leq \lim_{n\to \infty} \frac{n!}{(n!)^2} = \lim_{k \to \infty, k = n!}\frac{k}{k^2} = \lim_{k \to \infty}\frac{1}{k} = 0.$$
</body>
</html>
Sla het bestand op als . html bestand en open het met een browser zoals Chrome.
Klik met de rechtermuisknop op de Formule en kies MathML weergeven als → MathML-code.
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mn>0</mn>
<mo>≤<!-- ≤ --></mo>
<munder>
<mo form="prefix" movablelimits="true">lim</mo>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
<mo stretchy="false">→<!-- → --></mo>
<mi mathvariant="normal">∞<!-- ∞ --></mi>
</mrow>
</munder>
<mfrac>
<mrow>
<mi>n</mi>
<mo>!</mo>
</mrow>
<mrow>
<mo stretchy="false">(</mo>
<mn>2</mn>
<mi>n</mi>
<mo stretchy="false">)</mo>
<mo>!</mo>
</mrow>
</mfrac>
<mo>≤<!-- ≤ --></mo>
<munder>
<mo form="prefix" movablelimits="true">lim</mo>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
<mo stretchy="false">→<!-- → --></mo>
<mi mathvariant="normal">∞<!-- ∞ --></mi>
</mrow>
</munder>
<mfrac>
<mrow>
<mi>n</mi>
<mo>!</mo>
</mrow>
<mrow>
<mo stretchy="false">(</mo>
<mi>n</mi>
<mo>!</mo>
<msup>
<mo stretchy="false">)</mo>
<mn>2</mn>
</msup>
</mrow>
</mfrac>
<mo>=</mo>
<munder>
<mo form="prefix" movablelimits="true">lim</mo>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
<mo stretchy="false">→<!-- → --></mo>
<mi mathvariant="normal">∞<!-- ∞ --></mi>
<mo>,</mo>
<mi>k</mi>
<mo>=</mo>
<mi>n</mi>
<mo>!</mo>
</mrow>
</munder>
<mfrac>
<mi>k</mi>
<msup>
<mi>k</mi>
<mn>2</mn>
</msup>
</mfrac>
<mo>=</mo>
<munder>
<mo form="prefix" movablelimits="true">lim</mo>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
<mo stretchy="false">→<!-- → --></mo>
<mi mathvariant="normal">∞<!-- ∞ --></mi>
</mrow>
</munder>
<mfrac>
<mn>1</mn>
<mi>k</mi>
</mfrac>
<mo>=</mo>
<mn>0.</mn>
</math>
Kopieer/plak nu de MathML-code in Word 2013 (of 2007) en klik achtereenvolgens op CTRL en T (Paste Options: keep the text only) of ga naar de kleine Ctrl-afbeelding aan het einde van de MathML-code die je hebt geplakt en selecteer de optie handmatig.
Ik heb LatexToWordEquation gemaakt op basis van antwoorden.
Het is een Word AddIn.
De broncode die ik naar Github heb geduwd. Als u wilt kunt u het installatieprogramma rechtstreeks downloaden van hier . Aanwijzing: Dit is een actieve downloadlink die het bestand onmiddellijk downloadt wanneer u erop klikt.
Hoe doe ik het
Ik geef de voorkeur aan TeXsword boven Latex in Word TeXsword download ). Het heeft alle kenmerken van Latex in Word, plus de afhandeling van vergelijkingsreferenties. En het heeft geen internetverbinding nodig, wat ik zie als een functie die geen beperking vormt: MikeTeX is toch niet zo groot, en als je de LaTeX lokaal hebt, kun je tijdens het reizen je document intypen.
@Devid’s antwoord is uitstekend, maar ik had moeite met de specifieke instructies. Dit is wat voor mij werkte. Doe Devid’s stappen door de MathML code te kopiëren.
Dan, voeg een lege vergelijking in. In Word 2013, schakel naar Print Layout view (Bekijk tabblad op het lint). Kies op het tabblad Invoegen voor Vergelijking. U ziet Type equation here
geselecteerd.
Op het tabblad Home selecteert u de dropdown Plakken en vervolgens Paste Special (of drukt u gewoon op CTRLALTV). Selecteer Unformatted Unicode Text.
De vergelijking moet dan grotendeels correct worden ingevuld, zoals in Devid’s laatste foto.
Nog één ding - in de foto zijn de “lim” commando’s gecursiveerd, waar ze niet in het origineel stonden. Om dat te verhelpen, zet je voor elke “lim” de cursor net na de “m” en druk je op de spatiebalk, zodat Word “lim” tegen zijn functietabel aankruist en de opmaak aanpast. (Verwijder dan de extra ruimte die is gecreëerd.)
U kunt Latex in Word .
Het biedt macro’s voor Microsoft Word die het gebruik van LaTeX-invoer mogelijk maken om vergelijkingsafbeeldingen te maken in zowel inline- als weergavemodi zonder dat u software op de lokale computer hoeft te installeren. Voor zover ik weet is dit het enige gratis alternatief voor de betaalde programma’s zoals Aurora en TexPoint .
Ga voor Office 2007 naar Latex in Word Project Page op Source Forge en klik op Word 2007 onder Files .
LaTeX in Word is een GPL-gelicenseerd hulpmiddel waarmee vergelijkingen kunnen worden gebruikt in Microsoft Word-documenten. De client-kant van het programma is geïmplementeerd als VBA-macro’s in het document “LaTeXinWord”, samen met de instructies. Dit bestand bevat dus de broncode, de implementatie en de documentatie.
Ik heb een tool geschreven voor het genereren van MathML, ik heb het codeformulier Devid verbeterd en enkele functies toegevoegd voor eenvoudige bewerking. Hier is de code:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
<title>tex texample</title>
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({tex2jax: {inlineMath: [['$','$'], ['\(','\)']]}});
</script>
<script>
function SelectText(element) {
var doc = document
, text = doc.getElementById(element)
, range, selection
;
if (doc.body.createTextRange) {
range = document.body.createTextRange();
range.moveToElementText(text);
range.select();
} else if (window.getSelection) {
selection = window.getSelection();
range = document.createRange();
range.selectNodeContents(text);
selection.removeAllRanges();
selection.addRange(range);
}
}
$(document).ready(function(){
$("#latexContent").val("$$ $$");
$('#latexContent').bind('input propertychange', function() {
$("#myoutput").text($("#latexContent").val());
// MathJax.Hub.Queue(["TypeseTextt",MathJax.Hub,"myoutput"]);
MathJax.Hub.Typeset("myoutput")
});
$("#btnShowMathML").click(function(){
var con = $(".MJX_Assistive_MathML").html();
$("#myMathml").text(con);
SelectText("myMathml");
});
$("#btnClear").click(function(){
$("#latexContent").val("$$ $$");
$("#myoutput").html("<p style='color: grey; font-style: italic;'> The LaTeX will display here ! </p>");
$("#myMathml").text("");
});
});
</script>
</head>
<body>
<center>
<p> Enter LaTeX here! </p>
<textarea id="latexContent" rows="5" cols="100"> </textarea>
<button id="btnClear" type="button">clear</button>
<button id="btnShowMathML" type="button">Show The MathML</button> </br></br>
<span id="myoutput">
<p style="color: grey; font-style: italic;"> The LaTeX will display here ! </p>
</span> </br>
<span id="myMathml"> </span>
</center>
</body>
</html>
Wanneer je MathML naar Word kopieert, zorg er dan voor dat je pure tekst kopieert, met behulp van de toets Ctrl+Alt+V (of kopieer het eerst naar kladblok en kopieer het dan naar woord).
De standaard server voor LaTeX in Word lijkt niet meer te draaien. Als je gedwongen bent om Word te gebruiken (bijvoorbeeld om samen te werken met de minder technisch georiënteerde) zou ik TeXsword gebruiken, zoals Adam al suggereerde. Je moet een standalone MikTex -distributie installeren, maar het is tegenwoordig een eenvoudige installatie. Het werkt met mijn Word 2016. Het ziet er nog steeds niet zo goed uit als een echt bonafide LaTeX-document, maar het is makkelijker te gebruiken en beter te bewerken dan de vergelijkingseditor in Word.
Microsoft Office ProPlus Versie 1902 met geactiveerd LaTeX-formaat.
De volgende macro wijzigt alle LaTeX-formules die zijn afgebakend door paren van $
binnen de huidige Selectie van het Word-document in Word-formules:
Sub LaTeX()
If Selection.Start < Selection.End Then
Set myRange = ActiveDocument.Range(Selection.Start, Selection.End)
Do While myRange.Find.Execute(FindText:="$*$", Forward:=True, MatchWildcards:=True) = True
ActiveDocument.OMaths.Add Range:=myRange
ActiveDocument.OMaths.BuildUp
Set myRange = ActiveDocument.Range(myRange.Start, Selection.End)
Loop
End If
End Sub
Dit is een haalbaarheidsstudie en niet bedoeld voor productie. De macro kan gemakkelijk voor de gek worden gehouden door verdwaalde $
tekens in de tekst. Dat is ook de belangrijkste reden om de actie van de macro af te bakenen op de huidige selectie.
Verder behandelt het geen weergavevergelijkingsomgevingen zoals equation
of align
.
Bovenstaand antwoord is correct, maar er is ook een shortcut ingebouwd die wiskunde-automatisch correct is. Het lijkt veel op LaTeX. Standaard is het inactief, maar je kunt het activeren en het is echt nuttig als je grote vergelijkingen wilt schrijven. Voor bijvoorbeeld als je H2 wilt typen dan hoef je alleen maar H_2 enz. te typen en er zijn veel meer opties beschikbaar zoals voor het superscriptteken na caret (^) teken zal worden geconverteerd als superscript. Veel van dergelijke snelkoppelingen worden in deze video behandeld of u kunt gewoon zoeken naar Hoe kunt u wiskundige vergelijking (zoals LaTeX) invoegen in Ms-Office: Tips en trucs op youtube.
Deze methode is vooral nuttig als u snel bent met typen. Bovendien bespaart het u tijd die verloren gaat bij het schakelen tussen toetsenbord en muis en het zoeken naar de juiste optie in woord.